清漆(3.0.3)& Facebook连接(nginx上的wordpress)

时间:2013-01-05 00:01:12

标签: facebook wordpress varnish

我遇到一些麻烦,配置default.vcl Varnish 3.0.3以允许通过Facebook Connect登录我的网站。 Facebook API已正确配置,但看起来我的网站并未“允许”登录,尽管访问者在“登录”后从Facebook返回。注册成功并记录在我的数据库中。

有人可以帮我配置default.vcl吗?我花了好几天时间试图找到帮助我上网的信息,但我a)我不太熟悉Varnish和b)目前没有很多信息。

我能找到最接近解决方案的是:http://drupal.org/node/1196916#31

我的清漆配置:http://pastebin.com/LWGRey8e

目前我正在使用WP-FB AutoConnect wordpress插件并联系了插件作者,但他从未听说过Varnish:-s

其他细节:

网站网址:livefeeedietravelling(dot com)

清漆:3.0.3

Wordpress版本:3.5

服务器:nginx / 1.2.6(带APC)

2 个答案:

答案 0 :(得分:1)

我已设法通过处理varnish.vcl sub vcl_recv部分中不同的Cookie来解决此问题。

# admin users & facebook logged in users always miss the cache
if( req.http.Cookie ~ "wordpress_logged_in_" || req.http.Cookie ~ "fbsr_"
|| req.http.Cookie ~ "comment_author_"
){
return (pass);
}

可以在`sub vcl_fetch中使用相同的代码,具体取决于您希望如何处理它。

感谢所有人的帮助,希望这对某些人有用。

答案 1 :(得分:0)

默认的vcl_hash只在网址和主机上进行哈希处理,是否需要将cookie添加到其中?我看到你在另一个帖子上发布了一个过时的vcl_hash。清漆3的最新版本如下所示:

sub vcl_hash {
    hash_data(req.url);
    hash_data(req.http.host);
    if (req.http.Cookie) {
            hash_data(req.http.Cookie);
    }
    return (hash);
}