0

我试图通过在 default.vcl 中使用以下代码行来排除 robots.txt 形式的清漆缓存

if(req.url ~ "^/robots\.txt$") {
   return(pass);
}

现在开发工具中的 Network 选项卡,它显示 Age: 0 和 X-Cache:MISS。但是,由于某种原因,清漆不会将文件排除在缓存之外。我什至从它的位置删除了文件。但它仍然加载网址https://www.example.com/robots.txt

我还使用以下命令清除了清漆缓存

curl -X PURGE www.example.com/robots.txt

varnishadm "ban req.http.host == www.example.com && req.url ~ ^/robots.txt"

varnishadm "ban req.http.host ~ www.example.com && req.url ~ ^/robots.txt"

它显示 200 Purged 消息,但仍然没有运气。

谁能帮我吗 ?

4

1 回答 1

0
  1. “我什至从它的位置删除了文件。但它仍在加载 URL https://www.example.com/robots.txt ” - 可能是您的浏览器正在缓存它。
  2. 向 varnish 发送 PURGE 请求只会从缓存中删除对象,而不是从后端删除,因此如果您从 varnish 中清除某些内容,然后向其发送 GET 请求,它肯定会为您提供对象。
  3. 如果您希望它永远丢失,则需要将其从后端中删除。
于 2017-10-21T10:18:18.433 回答