我在运行多个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推荐的文件,并且是我在任何地方看到的清除配置。
答案 0 :(得分:1)
有可能,您通过公共IP连接到您的清漆盒,Varnish也会看到公共IP连接,而不是本地连接。您的清除ACL现在只允许localhost / 127.0.0.1。您可能还希望使用服务器的公共IP地址扩展该列表。
或者,通过删除ACL检查并简单地允许每个人清除来尝试调试,只是将ACL排除为有罪的。