nginx负载均衡器和OAuth

dda*_*rio 4 proxy load-balancing oauth nginx

我正在尝试为两台服务器设置一个nginx loadbalancer/proxy,并在两台服务器上运行OAuth身份验证的应用程序.当nginx在端口80上运行时,一切运行正常,但是当我将它放在任何其他端口上时,OAuth身份验证失败并显示"无效签名"错误消息.

这是我在nginx.conf中的服务器配置:

server {
    listen 80;
    server_name localhost;
    location / {
      proxy_pass  http://webservice;

        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_set_header        X-Forwarded-Port $server_port;
        proxy_set_header        X-Forwarded-Host $host;
        proxy_set_header        X-FORWARDED-PROTO https;
    }
Run Code Online (Sandbox Code Playgroud)

有没有人遇到过类似的问题?

PS:我注意到OAuth领域属性中省略了端口80,但正常添加了其他端口.

Tom*_*rdt 6

这可能与nginx没有任何关系.OAuth(1,而不是2)需要签名网址,http://webservice:81如果您将其移至端口81,请确保您的OAuth代码知道网站实际上位于端口80而不是81.

更新您的客户端以说明它的端口81或告诉服务器它是80.

用您喜欢的端口替换81