需要清除的 nginx 特定 URL

需要清除的 nginx 特定 URL

我正在寻找一种通过在 url 上添加特定注释来清除 nginx 缓存的方法。

假设我使用 nginx 缓存了此 url(项目):

http://mywebsite/render/render5.php?frame=1&image=nature-1920.jpg

如果我想清除它,我必须添加:

http://mywebsite/render/render5.php?frame=1&image=nature-1920.jpg&purge=1

如果我们在该 URL 末尾添加 ,是否可以清除该 URL &purge=1

我发现的所有教程都使用命令curl -X来清除特定项目,例如:

curl -X PURGE http://mywebsite/render/render5.php?frame=1&image=nature-1920.jpg

https://scene-si.org/2016/11/02/purging-cached-items-from-nginx-with-lua/

并且我希望能够清除 nginx 缓存项(url),而无需使用curl -X命令。

答案1

链接的教程使用 Lua 脚本添加了清除功能,因此可以对其进行修改以使用&purge=1代替 PURGE http 方法。然而,对于生产系统来说这是不可取的。

指导原则HTTP/REST 服务设计GET 请求(即调用 时发生的请求curl <url>)是“安全的”,这意味着它们基本上是只读的,没有任何副作用。其中一个原因是客户端可以提前调用它们,例如,Web 浏览器可以自由地在页面加载后立即调用页面上显示的 URL,以提高性能。这会清除缓存。

相关内容