nginx 反向代理的缓存问题

1. nginx配置
http {
     proxy_cache_path /data/nginx_cache/ levels=1:2 keys_zone=my_zone:10m inactive=60s max_size=5g;#访问时间,过期就会删除
}



#es判例的
location ~ /es/precedents {
    proxy_cache my_zone;
    proxy_cache_valid 200 304 10m;#这个是文件缓存时间,和访问频率无关
    proxy_ignore_headers Set-Cookie Cache-Control;#这句代码很关键,尤其要忽略set-cookie
    proxy_hide_header Cache-Control;
    proxy_hide_header Set-Cookie;
    proxy_pass_header Server;
    #下面的与缓存无关
    proxy_set_header Host $http_host;
    proxy_redirect off;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Scheme $scheme;
    proxy_connect_timeout 5000;
    proxy_read_timeout 5000;
    proxy_send_timeout 5000;
    proxy_pass http://esModify;
}
2.缓存过期控制
缓存过期的因素:
(1)inactive:在proxy_cache_path配置项中进行配置,说明某个缓存在inactive指定的时间内如果不访问,将会主动从缓存中删除。再次访问时,就会去拉取 

(2)nginx的配置项 proxy_cache_valid:配置nginx cache中的缓存文件的缓存时间,如果配置项为:proxy_cache_valid 200 304 2m;说明对于状态为200和304的缓存文件的缓存时间是2分钟,两分钟之后再访问该缓存文件时,文件会过期,从而去源服务器重新取数据。



缓存过期的清理顺序,由高到低为:

inactive配置项 > 源服务器设置的Expires、源服务器设置的Max-Age  > proxy_cache_valid配置项
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值