2012-10-02 58 views
0

我在運行多個WordPress網站的nginx前面使用Varnish 3。我使用了一個由許多大型WordPress網站推薦和使用的default.vcl。無法發送PURGE請求以清除緩存

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

我使用W3的總緩存其中有一個選項清除緩存時自動清除。我還測試了安裝Varnish HTTP Purge插件以在編輯時清除帖子/頁面。這似乎沒有工作,所以我通過ssh w/curl測試了交互式會話。

我登錄到上清漆/ nginx的盒SSH和我鍵入以下命令測試清漆吹掃:

捲曲-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

可能是,您通過公共IP連接到您的清漆盒,清漆也會看到公共IP連接,而不是本地連接。您現在的清除ACL只允許localhost/127.0.0.1。您可能還想使用服務器的公共IP地址來擴展該列表。

或者,通過刪除ACL檢查並僅允許所有人進行清除來嘗試調試,只是將ACL排除在有罪之外。

+0

謝謝,我添加了我的公共IP並修復了它。我假設通過SSH在同一臺服務器上使用curl將使用本地主機。現在看看我能否得到W3 Total Cache來正確清除它。 – Michael

+0

這不會允許任何人發送清除請求嗎? –