V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
xmlf
V2EX  ›  问与答

一个神奇的 bug,苦思不得其解

  •  
  •   xmlf · 2022-02-21 12:39:39 +08:00 · 792 次点击
    这是一个创建于 810 天前的主题,其中的信息可能已经有所发展或是发生改变。

    环境: 使用 frp 内网穿透,公网服务器端口是 1485 在公网服务器 /etc/hosts 写入 www.xxx.com 127.0.0.1

    Nginx 配置:

    location = / {
            proxy_pass          http://www.xxx.com:1485/index/index;
            proxy_set_header Accept-Encoding "";
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header Host $host;
            proxy_set_header X-NginX-Proxy true;
            proxy_http_version 1.1;
            proxy_hide_header X-Powered-By;
            proxy_set_header Connection "upgrade";
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header X-Forwarded-Proto https;
    }
    
    location / {
            proxy_pass          http://www.xxx.com:1485;
            proxy_set_header Accept-Encoding "";
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header Host $host;
            proxy_set_header X-NginX-Proxy true;
            proxy_http_version 1.1;
            proxy_hide_header X-Powered-By;
            proxy_set_header Connection "upgrade";
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header X-Forwarded-Proto https;
    }
    

    网站运行 https,功能一切正常。

    今天在调用微信 api 扫码登录时候,微信二维码死活不显示。

    就开始排查,最终发现是

    在 location = / 中的

    proxy_set_header X-Forwarded-Proto https;
    

    这个导致的。如果把这句注释掉,微信扫码登录二维码就能显示,否则一直在不停请求微信 api ,返回状态码 204 。

    为什么会这样??有大佬了解的吗?

    目前尚无回复
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1035 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 22:50 · PVG 06:50 · LAX 15:50 · JFK 18:50
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.