0

我在运行多个 WordPress 站点的 nginx 前使用 Varnish 3。我正在使用许多大型 WordPress 网站推荐和使用的 default.vcl。

默认.vcl: http: //pastebin.com/KaSdvuRS

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

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

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 推荐的文件非常相似,并且是我看到的到处推荐的清除配置。

4

1 回答 1

1

很有可能,您正在通过公共 IP 连接到您的 Varnish 盒子,并且 Varnish 还将看到一个公共 IP 连接,而不是本地 IP。您的清除 ACL 现在只允许 localhost/127.0.0.1。您可能还想使用服务器的公共 IP 地址扩展该列表。

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

于 2012-10-02T05:33:04.917 回答