我有nginx配置爲代理https流量到同一臺機器上運行的http服務器。當我配置nginx的上/代理監聽來自HTTPS端口443,但我真的想聽聽非標準端口上Nginx代理https到非標準端口上的http?
,一切工作正常。當我配置一個非標準端口,nginx的接收請求,並將其發送到我的http服務器,因爲它應該,但服務器使用HTTP響應重定向回,告訴它重定向到「HTTPS瀏覽器://服務器。 com/someurl「。我的意思是重定向url看起來不錯,除了它缺少正確的端口。我是否缺少一個需要在代理中設置的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;
}
謝謝。我發現一些論壇帖子建議設置一個HTTP X-Forwarded-Port頭,即使這看起來更像是一個非標準的「非標準」頭。我嘗試在nginx配置中設置,但沒有運氣。正如你所說,無論如何,我認爲在上游主機上運行的應用程序需要注意並採取相應措施。 – kenen 2012-04-16 16:58:37