Apache-2.2

無法通過清漆記憶體登錄

  • October 4, 2012

我正在我的新伺服器中設置 Active Collab Site。設置如下

Internet> —> 清漆 —-> apache

但我無法通過清漆記憶體登錄網站。但我可以通過 apache 登錄網站。

這是我的 VCL 文件

backend default { .host = "localhost"; .port = "8080"; }
acl purge { "localhost"; }
sub vcl_recv { if (req.request == "PURGE") { if (!client.ip ~ purge) { error 405 "Not allowed."; } return(lookup); }
if (req.url ~ "^/$") { unset req.http.cookie; } }
sub vcl_hit { if (req.request == "PURGE") { set obj.ttl = 0s; error 200 "Purged."; } }
sub vcl_miss { if (req.request == "PURGE") { error 404 "Not in cache."; }
if (!(req.url ~ "wp-(login|admin)")) { unset req.http.cookie; }
if (req.url ~ "^/[^?]+.(jpeg|jpg|png|gif|ico|js|css|txt|gz|zip|lzma|bz2|tgz|tbz|html|htm)(\?.|)$") {
unset req.http.cookie;
set req.url = regsub(req.url, "\?.$", "");
}
if (req.url ~ "^/$") { unset req.http.cookie; } }
sub vcl_fetch { if (req.url ~ "^/$") { unset beresp.http.set-cookie; }
if (!(req.url ~ "wp-(login|admin)")) { unset beresp.http.set-cookie; }}

當我嘗試通過清漆登錄時,我被重定向回登錄頁面。如果我輸入錯誤的密碼,那麼它會要求輸入正確的密碼。

最後我找到了解決方案。

我在“sub vcl_fetch”部分添加了以下程式碼。

if (beresp.http.set-cookie ~ "sessionid" || beresp.http.set-cookie ~ "csrftoken") {
      return (pass);
   } else {
      return (deliver);
   }

現在我可以通過varnish登錄了!!!

我從這個站點找到了這個解決方案。

謝謝,

阿倫小號

引用自:https://serverfault.com/questions/348747