Назад | Перейти на главную страницу

Невозможно войти через кеш-память Varnish

Я настраиваю сайт Active Collab на своем новом сервере. Настройка как ниже

Интернет> ---> лак ----> apache

Но я не могу войти на сайт через varnish cache .. Но я могу войти на сайт через 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; }}

Когда я пытаюсь войти через varnish, меня перенаправляют обратно на страницу входа. Если я введу неправильный пароль, он попросит ввести правильный пароль.

Наконец-то я нашел решение.

Я добавил следующий код в раздел «sub vcl_fetch».

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

Теперь я могу войти через лак !!!

Я нашел это решение из этого сайт.

Спасибо,

Арун С