我正在尝试为两个服务器设置一个nginx负载均衡器/代理,这两个服务器上运行着OAuth经过身份验证的应用程序。
当nginx在80端口运行时,一切正常,但当我将其放在任何其他端口上时,OAuth身份验证将失败,并显示“无效签名”错误消息。
以下是我的nginx.conf中的服务器配置:
以下是我的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:我注意到OAuth领域属性中省略了80端口,但其他端口通常会被添加。
proxy_set_header Host $host:$server_port;
- ddario