【问题标题】:Varnish (3.0.3) & Facebook connect (wordpress on nginx)Varnish (3.0.3) & Facebook connect (wordpress on nginx)
【发布时间】:2013-01-14 17:17:16
【问题描述】:

我在配置 default.vclVarnish 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)

【问题讨论】:

    标签: facebook wordpress varnish


    【解决方案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 中使用相同的代码。

    感谢大家的帮助,希望对大家有用。

    【讨论】:

      【解决方案2】:

      默认的 vcl_hash 仅对 url 和 host 进行哈希处理,是否需要将 cookie 添加到其中?我看到你在另一个线程上发布了一个过时的 vcl_hash。 varnish 3 的最新版本如下所示:

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

      【讨论】:

      • 嗨克拉伦斯,感谢您的回复。我想我对这个清漆配置超出了我的理解。我尝试将上述代码插入到我的 .vcl 中,但没有成功。在drupal.org/node/884350 的第 13 条评论上,它显示了 facebook cookie 的设置 req.http.Cookie 但我不知道是否需要在我的代码中的某个地方输入它? Taylor-Jasko 也一直在帮助我serverfault.com/questions/463178/…,但我仍然不确定如何配置我的 .vcl 文件......非常感谢您提供任何进一步的帮助,谢谢,Paul
      猜你喜欢
      • 2017-01-21
      • 2012-11-16
      • 1970-01-01
      • 2015-08-30
      • 2015-12-09
      • 1970-01-01
      • 1970-01-01
      • 2019-04-23
      • 2021-03-19
      相关资源
      最近更新 更多