爱迪电脑

宝塔面板nginx代理缓存无法清除的解决方案

近日光网烈火的安全测试人员,在测试宝塔面板的时候发现无法用GET请求的方式,来清空反向代理缓存。以下是解决方案:

Microsoft
#PROXY-START/
从这里删除代理配置文件的如下内容
location  ~* \.(gif|png|css|js|woff|woff2)$
{
    proxy_pass http://hdi1.liehuojun.com;
    proxy_set_header Host hdi1.liehuojun.com;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header REMOTE-HOST $remote_addr;
    expires 12h;
}
到此结束删除代理配置文件的如上内容
location /
{
    proxy_pass http://hdi1.liehuojun.com;
    proxy_set_header Host hdi1.liehuojun.com;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header REMOTE-HOST $remote_addr;
    add_header X-Cache $upstream_cache_status;
    #Set Nginx Cache
    proxy_ignore_headers Set-Cookie Cache-Control expires;
    proxy_cache cache_one;
    proxy_cache_key $host$uri$is_args$args;
    proxy_cache_valid 200 304 301 302 60m;
}
#PROXY-END/

site.conf 配置文件中,purge 字段替换成:

location ~ (/.*)/purge$ {

删除文件 http://example.com/upload/file.jpg 则输入:
http://example.com/upload/file.jpg/purge 回车即可。

作者: 丁程

Pubdate: 2022-4-19 14:17