回调重定向到端口8080,打破WP登录

时间:2013-11-20 20:40:53

标签: nginx varnish

请原谅我,如果这是一个简单的问题,所有......我花了一个小时谷歌搜索这个并且无法得出一个有意义的答案。

我的设置: 运行在与清漆的nginx的Wordpress 清漆听80 Nginx听8080

我的问题: 在我的WP网站上,如果有人点击“mysite.com/somepage”中的“使用Facebook登录”按钮,经过漫长的等待,浏览器栏显示“mysite.com:8080/somepage/,我就是那么开心“哎呀! Google Chrome无法连接“错误。

从我读过的内容来看,我感觉问题出在我的nginx.conf上,但我对如何修复它没有任何想法;而且它在一个现场,所以围绕Jell-O钉在墙上并不是我喜欢的东西。而且我甚至不能100%肯定你要我从我的配置文件中向你展示什么,但这是我到目前为止所能想到的......

此配置由第三方完成,但这里有一些可能有帮助的基本信息......

启动/ etc / nginx / sites-enabled / wordpress

server {
    listen       8080;
    server_name  mysite.com;
    root         /var/www/wordpress;

    index index.php;

/ etc / default / varnish

的部分
DAEMON_OPTS="-a XXX.XXX.XXX.XXX:80 \                                                                   
         -T localhost:6082 \                                                                      
         -f /etc/varnish/wordpress.vcl \ 
         -S /etc/varnish/secret \ 
         -s file,/var/lib/varnish/$INSTANCE/varnish_storage.bin,1G"

这也是来自/etc/varnish/default.vcl:

backend default {                                                                                     
    .host = "127.0.0.1";                                                                              
    .port = "8080";                                                                                   
} 

我害怕编辑这个并打破整个网站。什么跳出来?

更新:如果这有任何用处,我发现我点击Facebook登录按钮后我的浏览器正在尝试访问的URL(这导致被带回到我登录的页面,':8080 '被追加到'mysite.com'的末尾):

mysite.com/?code=AQBsvAQ3jFCJtYQO8AEhz-V8Yqr4HnhpZLaaqFjnvQenwp9FnvIBYGLdus2_vltS0LKicF2QiVKPewrfpRB2ODKF04PkHgJK-KynG3m0xxtztrdXUKPNgPVJ7YxQjnf1kcPagCm5dRjyAqeRw7Xr7exfrLP40yFLSR_eyrJvWUT9oF7ibpX_3883VWunJ3PX5keI7FYCvz2iWvdchWCGOFyBNAI_xtGLwPuMghij1xGRhp2P7dlGnm6GqVqeKO6oe3lhPDBuD0ogGV3TgbWfmC8omMf1d70YHhws3xtx7Lr2lvYPRsKAY5YU9v8x4qRAfvw#_=_

...现在想知道URL中的“code =”是否被重写规则抓住了?

另一个更新 找到this URL关于一个功能类似于我试图使用的Facebook登录插件的插件,我按照这个建议进行了以下编辑,至少停止了错误的重定向。现在我对另一个论坛有一个不同的问题(即该插件实际上没有记录用户)。

EDITED

$request_port = ((!empty ($_SERVER ['SERVER_PORT']) AND $_SERVER ['SERVER_PORT'] <> '80') ? (":" . $_SERVER ['SERVER_PORT']) : '');

$request_port = '';

3 个答案:

答案 0 :(得分:0)

事实证明问题只是部分与我的nginx / varnish设置相关。

真正的罪魁祸首是Facebook添加到他们的重定向uri的# =

Details here

答案 1 :(得分:0)

Facebook知道登录后应该去哪里的两种方法是

  • 您提供给Facebook应用程序设置的URL(您用作app_id的URL)。
  • 您传递给登录函数的URL调用返回URL

我认为第二个是你的问题,当你创建facebook登录链接时,你传递一个URL告诉它它应该在它完成时返回的位置,如果从你的应用程序生成返回URL那么它可能是你我也会找到添加8080的功能。

检查该功能并确保它不包含8080

答案 2 :(得分:0)

尝试添加

port_in_redirect off;

在您的服务器块下

http://zach-adams.com/2014/05/fix-wordpress-8080-port-redirects/

相关问题