2
我正在尝试为两台服务器设置一个nginx负载平衡器/代理,同时在这两台服务器上运行OAuth身份验证应用。 当端口80上运行nginx时,一切运行良好,但是当我将其放在任何其他端口上时,OAuth身份验证失败并显示“无效签名”错误消息。nginx负载均衡器和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;
}
有没有人遇到类似的问题?
PS:我注意到端口80从OAuth领域属性中省略,但其他端口正常添加。
应用是在8180个端口上运行,而直接的OAuth请求,这些端口通过精细更换81。我试图在第三台服务器端口8000上创建一个LB. 这对Apache LB起作用,但另一个问题迫使我尝试使用nginx。 – ddario 2012-03-14 20:44:41
问题出在'主机'头部。为了使OAuth正常工作,它还需要包含端口。 这个技巧: proxy_set_header Host $ host:$ server_port; – ddario 2012-03-14 21:02:12
还没有尝试过,但这是一个goooood领导:) Thx ddario。 – nolazybits 2013-06-07 04:23:39