Nginx
將 ip 從 nginx 代理到 jetty/gwt
早上好!
我在 jetty 6 前面設置了 nginx,它正在執行 GWT 應用程序。我正在嘗試轉發 IP 地址,我在網際網路上找到的所有答案都告訴我這樣做:
proxy_pass http://localhost:8080; proxy_set_header X-Real-IP $remote_addr; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
這工作得很好,除了碼頭的日誌不顯示 X-Real-IP,它們顯示 127.0.0.1。此外,jetty/GWT 有 127.0.0.1 for
getThreadLocalRequest().getRemoteAddr()
,儘管我可以訪問 X-Real-IP 以獲取正確的遠端 IP。任何想法如何為碼頭日誌獲取正確的遠端 ip 並
getThreadLocalRequest().getRemoteAddr()
正常工作?謝謝!
您應該在 /etc/jetty.xml 中將轉發的配置添加到您的連接器。例子:
<Call name="addConnector"> <Arg> <New class="org.eclipse.jetty.server.nio.SelectChannelConnector"> <Set name="forwarded">true</Set>
這應該有效。