1

我在我的 Wordpress 网站前运行 Varnish。为了增加我的缓存命中统计信息,我在 default.vcl 的清漆配置中阻止了 cookie

# Drop any cookies sent to Wordpress.
sub vcl_recv {
    unset req.http.cookie;
}
# Drop any cookies Wordpress tries to send back to the client.
sub vcl_fetch {
    unset beresp.http.set-cookie;
}

我相信这就是让我现在无法登录 wp-admin 的原因。我不断被重定向回登录页面。知道我需要将哪种过滤器传递给该 cookie 拦截器吗?我不熟悉这种配置语言。

4

2 回答 2

3

如果 URL 来自管理部分,则不需要删除 cookie。

像这样:

sub vcl_recv {
    if (!(req.url ~ "wp-(login|admin)")) {
        unset req.http.cookie;
    }
}

sub vcl_fetch {
    if (!(req.url ~ "wp-(login|admin)")) {
        unset beresp.http.set-cookie;
    }
}
于 2013-02-24T07:33:54.857 回答
0

为什么不:

sub vcl_recv {
    if (req.http.Cookie ~ "(wordpress_|wp-)") {
        return (pass); // If WP cookies exist, do not cache
    } else {
        unset req.http.Cookie;
    }
}

?

于 2018-03-23T04:28:37.913 回答