我已经配置了nginx将https流量代理到同一台机器上运行的http服务器。当我将nginx配置为在/代理https端口443时,一切都正常。但是我真的想侦听非标准端口。当我配置非标准端口时,nginx接收请求并将其发送到我的http服务器,但服务器响应浏览器的HTTP重定向,告诉它重定向到'https://server.com/someurl'。我的意思是重定向URL看起来很好,除了缺少正确的端口。我是否缺少需要在代理中设置的HTTP头?具体来说,我正在运行Tracks的http实例; http://getontracks.org。如果有影响,请参考我的(在标准端口上工作的)nginx服务器配置:
location /{
proxy_pass http://localhost:50000;
proxy_next_upstream error timeout invalid_header http_500 http_502 http_503;
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-Proto https;
proxy_redirect off;
}