nginx负载均衡器和OAuth

我正在尝试为两台服务器设置一个nginx负载均衡器/代理,并在这两台服务器上运行OAuth身份validation的应用程序。 当端口80上运行nginx时,一切运行正常,但是当我将其放在任何其他端口上时,OAuth身份validation将失败并出现“无效签名”错误消息。

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

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; } 

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

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

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

要么更新你的客户端说它的端口81或告诉服务器它在80上。

将81替换为您最喜欢的端口