在清除缓存时部分成功部分失败,有时通过浏览器可以但用程序就失败.
location ~ /purge(/.*)
{
#设置只允许指定的IP或IP段才可以清除URL缓存。
allow 127.0.0.1;
allow 192.168.0.0/16;
include manageip.conf;
deny all;
proxy_cache_purge cache_www $host$1$is_args$args;
error_page 405 =200 /purge$1; #处理squidclient purge的时候出现的405错误
}
if ( $request_method = "PURGE" ) {
rewrite ^(.*)$ /purge$1 last;
}
模拟测试 curl -H "Host:blog.c1gstudio.com" -H "User-Agent: c1gtest" -X PURGE https://blog.c1gstudio.com/static/image/common/qrcode.png404 Not Found 404 Not Found
openresty
去掉权限,并输出url,发现没有$1的输出
location ~ /purge(/.*)
{
#设置只允许指定的IP或IP段才可以清除URL缓存。
allow 127.0.0.1;
allow 192.168.0.0/16;
echo cache_bbs $host$1$is_args$args;
error_page 405 =200 /purge$1; #处理squidclient purge的时候出现的405错误
}
curl -H “Host:blog.c1gstudio.com” -H “User-Agent: c1gtest” -X PURGE https://blog.c1gstudio.com/static/image/common/qrcode.png
cache_bbs: blog.c1gstudio.com
可能是$1被其它脚本占用,重新定义一个 $purgeurl变量
location ~ /purge(?/.*)
{
#设置只允许指定的IP或IP段才可以清除URL缓存。
allow 127.0.0.1;
allow 192.168.0.0/16;
echo cache_bbs $host$purgeurl$is_args$args;
error_page 405 =200 /purge$1; #处理squidclient purge的时候出现的405错误
}
测试可以输出
curl -H "Host:blog.c1gstudio.com" -H "User-Agent: c1gtest" -X PURGE https://blog.c1gstudio.com/static/image/common/qrcode.png
cache_bbs: blog.c1gstudio.com/static/image/common/qrcode.png
最后修改并测试成功
location ~ /purge(?/.*)
{
#设置只允许指定的IP或IP段才可以清除URL缓存。
allow 127.0.0.1;
allow 192.168.0.0/16;
include manageip.conf;
deny all;
proxy_cache_purge cache_bbs $host$purgeurl$is_args$args;
error_page 405 =200 /purge$purgeurl; #处理squidclient purge的时候出现的405错误
}
if ( $request_method = "PURGE" ) {
rewrite ^(.*)$ /purge$1 last;
}
curl -H "Host:blog.c1gstudio.com" -H "User-Agent: c1gtest" -X PURGE https://blog.c1gstudio.com/static/image/common/qrcode.png
Successful purge
Successful purge
Key : blog.c1gstudio.com/static/image/common/qrcode.png
Path: /dev/shm/nginx/proxy_cache_bbs/1/92/9a7ee4d7167bc0ead33f4ccdb4439921
openresty/1.19.9.1

No Responses (yet)
Stay in touch with the conversation, subscribe to the RSS feed for comments on this post.