前情提要:
在早期一開始的時候,剛入門學習Nginx有參照網路上的資料,做Nginx反代理的Cache功能
代碼如下
vi nginx.conf
http {
add_header X-Cache $upstream_cache_status; #缓存命中
proxy_cache_path /var/nginx/cache levels=1:2
keys_zone=STATIC:10m inactive=24h max_size=1g;
client_max_body_size 10G;
server {
location / {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://127.0.0.1;
proxy_set_header Host $host;
proxy_cache STATIC;
proxy_cache_valid 200 1d;
proxy_cache_use_stale error timeout invalid_header updating
http_500 http_502 http_503 http_504;
}
}
vi scott.conf
upstream proxy {
server 172.16.16.8:80;
}
server {
listen 80 default;
server_name www.scott.com;
location / {
proxy_pass http://proxy;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto https;
proxy_set_header X-Forwarded-Host $host;
proxy_cache STATIC;
proxy_cache_valid 200 1d;
proxy_cache_use_stale error timeout invalid_header updating
http_500 http_502 http_503 http_504;
}
}
但是後來需要改用正向代理的方式的時候,也做一樣的配置,但卻無任何Cache產生,因此經過測試,自己得此結論就是,這個配置方式只適合反向代理
進入正題
因此這兩天都開始往「Nginx正向代理 Cache配置」這個方向去尋找
以下是我正向代理的配置
server {
listen 80;
server_name www.jacke.com;
root /usr/share/nginx/html/web/ ;
index index.php index.html index.htm;
# for Laravel ENV
location / {
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
try_files $uri $uri/ /index.php?$query_string;
proxy_cache STATIC;
proxy_cache_valid 200 1d;
proxy_cache_use_stale error timeout invalid_header updating
http_500 http_502 http_503 http_504;
}
}
但陸續找了不少文件都沒有有效的出現Cache,因此參考了Nginx官方文件仍舊沒有效果
因此想上來諮詢各位前輩,聽聽大家意見
也相當願意聽從任何糾正觀念的聲音
畢竟我是自學起家,大多的經驗都來至於網路及自身認為,目前還仍處於不斷修正的階段