Nginx使用HTTP请求清除缓存的实际方法是什么?

bkhjykvo  于 5个月前  发布在  Nginx
关注(0)|答案(2)|浏览(79)

首先,我搜索和尝试一些文章:

1)https://www.ryadel.com/en/nginx-purge-proxy-cache-delete-invalidate-linux-centos-7/

第一种方式:
a)通过curl请求(BYPASS)更新缓存,它对我来说很有效,但没有通过curl更新缓存的例子
B)用PURGE方法通过curl请求删除该高速缓存,使用过时的模块ngx_cache_purge-2.3,但在Linux上没有更新该高速缓存的示例,至少按照文章中的配置对我不起作用(nginx 1.14):
curl -X PURGE -I mysite.com/text.txt
curl:(52)来自服务器的空回复

2)https://scene-si.org/2016/11/02/purging-cached-items-from-nginx-with-lua/ ; https://gist.github.com/titpetric/2f142e89eaa0f36ba4e4383b16d61474/revisions

第二种方式:
如果我理解正确的话,lua需要nginx版本1.10,而我的版本是v1.14,v.1.14没有lua模块。
nginx:[emerg]模块“/usr/lib64/nginx/modules/ngx_http_lua_module.so”版本1010001,而不是/etc/nginx/nginx.conf中的1014000:1

所以我的问题是:是否有工作方法Nginx v1.14清除缓存**与HTTP请求,你可以建议?

问候

92dk7w1h

92dk7w1h1#

我知道这个问题有点老了,但我目前正在使用这个lua模块,它允许https://github.com/diego-treitos/nginx_cache_multipurge
它有安装和使用它的所有说明。

xxls0lw8

xxls0lw82#

你应该添加清洗如下然后问题就解决了。

if ($request_method !~ ^(GET|HEAD|POST|PURGE)$ ) {
        return 444;
}

字符串

相关问题