nginx反向代理配置缓存,提升速度、减少原站网络请求节约带宽
第一步 在nginx.conf的 http{}内添加
proxy_cache_path /home/cache levels=1:2 keys_zone=data_cache:1024m max_size=2048m inactive=1d;
#定义缓存目录 /home/cache,nginx会自动创建
#设置缓存的数据保留时间 inactive=1d
#缓存目录结构 levels=1:2
第二步 修改对应的反向代理配置文件a.conf
server {
listen 443 ssl;
ssl_certificate /etc/nginx/conf.d/fullchain.pem;
ssl_certificate_key /etc/nginx/conf.d/privatekey.pem;
server_name xx.com;
client_max_body_size 10m;
client_body_buffer_size 1024k;
location / {
add_header Cache-Control no-store;
proxy_pass http://192.168.2.100/;
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-Host $http_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 $scheme;
proxy_cache data_cache;
proxy_cache_valid 200 1d;
#为不同的响应状态码设置不同的缓存时间,比如这里200状态码为1天
proxy_cache_use_stale error timeout invalid_header updating http_500 http_503 http_404;
#后端服务器出现这些情况,nginx直接使用的过期缓存响应
}
}
server {
listen 80;
server_name xx.com;
return 301 https://$host$request_uri;
}
第三步 测试
浏览器访问url
然后查看/home/cache下已有缓存
tree /home/cache
du -sh /home/cache