在使用Varnish时,可能允许使用wp-admin的cookie,但不允许使用前端?

时间:2013-02-23 20:44:53

标签: wordpress redirect cookies varnish

我在Wordpress网站前运行Varnish。为了增加我的缓存命中统计数据,我在default.vcl

中的varnish配置中阻止了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阻止程序?我不熟悉这种配置语言。

2 个答案:

答案 0 :(得分:3)

如果网址来自管理部分,则您不需要删除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;
    }
}

答案 1 :(得分:0)

为什么不:

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