无法向Varnish缓存发出PURGE请求

时间:2012-10-02 05:00:31

标签: webserver varnish webdev.webserver

我在运行多个WordPress网站的nginx前使用Varnish 3。我使用的是default.vcl,推荐并被许多大型WordPress网站使用。

default.vcl:http://pastebin.com/KaSdvuRS

我正在使用W3 Total Cache,它可以选择在清除缓存时自动清除。我还测试了安装Varnish HTTP Purge插件以在编辑时清除帖子/页面。似乎都没有用,所以我通过ssh w / curl测试了交互式会话。

我在varnish / nginx框中登录SSH,然后输入以下命令来测试清除清除:

curl -X PURGE http://www.example.com

结果是:

<head>
    <title>405 Not allowed.</title>
  </head>
  <body>
    <h1>Error 405 Not allowed.</h1>
    <p>Not allowed.</p>
    <h3>Guru Meditation:</h3>
    <p>XID: 265824636</p>
    <hr>
    <p>Varnish cache server</p>
  </body>

我缺少什么想法?这个vcl文件非常类似于Varnish-Cache.org为WordPress推荐的文件,并且是我在任何地方看到的清除配置。

1 个答案:

答案 0 :(得分:1)

有可能,您通过公共IP连接到您的清漆盒,Varnish也会看到公共IP连接,而不是本地连接。您的清除ACL现在只允许localhost / 127.0.0.1。您可能还希望使用服务器的公共IP地址扩展该列表。

或者,通过删除ACL检查并简单地允许每个人清除来尝试调试,只是将ACL排除为有罪的。