收藏
回答

nginx代理的微信后台获取微信网页授权code回调无响应

现有云服务器3台(百度云同一内网情况下),其中一台有域名和公网ip(这台装nginx,把请求分发到另外两台服务器的微信后台项目),另外两台云服务器不绑定公网ip使用内网ip(考虑到安全),在这两台内湾服务器上部署上维信后台项目,一切都准备好了之后,发现在获取到网页授权code回调的时候一直处在等待响应的情况,直到报连接超时都回调不回来;ip白名单什么的都配置没问题;

最后一次编辑于  2018-12-04
回答关注问题邀请回答
收藏

2 个回答

  • 再见,电脑崽
    再见,电脑崽
    2018-12-04

    Nginx代理配置是否合理:

    #Proxy Settings
    proxy_redirect     off;
    proxy_set_header   Host             $host;
    proxy_set_header   X-Real-IP        $remote_addr;
    proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;


    2018-12-04
    有用
    回复 11
    • 张金石
      张金石
      2018-12-04

      nginx配置我认为是合理的,因为我这微信后台有个前端管理端(这个前端管理不涉及微信接口的调用),正常进入是没有问题,就是在调用微信接口的业务上出了这档子问题,是不是在调用微信接口上nginx需要特殊的配置一下

      2018-12-04
      回复
    • 再见,电脑崽
      再见,电脑崽
      2018-12-04回复张金石

      你看看你配置是否有我上诉配置信息,如果没有加上瞅瞅。

      2018-12-04
      回复
    • 再见,电脑崽
      再见,电脑崽
      2018-12-04回复张金石

      可能微信接口对header进行了来源验证,而普通页面没有这个逻辑。

      2018-12-04
      回复
    • 张金石
      张金石
      2018-12-04

      upstream monitor_server {

              ip_hash; 

              server 172.16.0.10:8080;

              server 172.16.0.9:8080;

              }

      server

      {

          listen 80;

          server_name www.公网域名.com;

          location / {

              proxy_redirect off;

              proxy_set_header Host $host;

              proxy_set_header X-Real-IP $remote_addr;

              proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

              proxy_pass http://monitor_server;

          }

          access_log logs/公网域名.tk_access.log;

      }


      2018-12-04
      回复
    • 张金石
      张金石
      2018-12-04回复再见,电脑崽

      需要为那两个内网服务器绑定上公网ip才能回调回来;我的回调url写的是路劲地址也是nginx服务器的域名路劲没错!

      2018-12-04
      回复
    查看更多(6)
  • 张金石
    张金石
    2018-12-04

    在这之后我在两台内网服务器都绑定了两个公网ip发现就变得能相应回来了,获取openid没问题了;我想问是不是微信后台不能做集群只能用中控服务器?太消耗公网ip了(一个账号最多可购买7个公网ip)

    2018-12-04
    有用
    回复
登录 后发表内容