当访问 http://example.com/ 为空白但与 http://example.com/index.php 配合良好时,我需要删除 http://example.com/ 的 nginx 缓存文件,该怎么做?这是我的 nginx 缓存配置。
fastcgi_cache_path /backup/cache levels=1:2 keys_zone=my-cache:1000m inactive=1000m;
fastcgi_temp_path /backup/cache/tmp 1 2;
fastcgi_cache_key "$scheme://$host$request_uri";
Run Code Online (Sandbox Code Playgroud)
如何获取/backup/cache 文件夹中的缓存文件名?
cad*_*dmi 12
例如,一种方法,但非常灵活
将此行添加到 nginx.conf ...
proxy_cache_bypass $http_x_update;
Run Code Online (Sandbox Code Playgroud)
...并且您可以随时使用带有“magic”标头的简单 http 请求更新缓存中的任何 uri。例如
curl -s -o /dev/null -H "X-Update: 1" mydomain.com
Run Code Online (Sandbox Code Playgroud)
或者
curl -s -o /dev/null -H "X-Update: 1" mydomain.com/some/long/url/
Run Code Online (Sandbox Code Playgroud)
对于偏执狂的安全性和满意度:D,您可以将标题名称更改为任何 blablabla,例如
proxy_cache_bypass $http_x_gangnamstyle;
#proxy_cache_bypass $http_x_mycatsnickname;
#proxy_cache_bypass $http_x_b2ca678b4c936f905fb82f2733f5297f;
Run Code Online (Sandbox Code Playgroud)
和
curl -s -o /dev/null -H "X-GangnamStyle: 1" mydomain.com
curl -s -o /dev/null -H "X-mycatsnickname: 1" mydomain.com
curl -s -o /dev/null -H "X-b2ca678b4c936f905fb82f2733f5297f: 1" mydomain.com
Run Code Online (Sandbox Code Playgroud)