如何知道 NGINX 创建的缓存文件的名称?

如何知道 NGINX 创建的缓存文件的名称?

假设我发出一个请求,https://example.com/path1/2?v=1并且启用了代理缓存。我如何知道 NGINX 创建的缓存文件的名称?问题是,我想删除单个 URL 的缓存,但不想清除整个 NGINX 缓存。我该怎么做?

在此处输入图片描述

这些是我的 NGINX 缓存目录中的文件。

答案1

根据文档缓存文件名是对结果进行MD5函数运算后的结果proxy_cache_key

您可以尝试:

  • proxy_cache_key检查你的配置里有什么
  • 评估所有变量,例如$host$request_uri手动评估您的目标请求
  • md5-it(注意行尾字符)
  • 看看你是否能找到结果文件并尝试将其移动到其他地方

\n末尾不带 MD5 :

printf "example.com/path1/2?v=1" | md5sum

相关内容