Nginx

將 ip 從 nginx 代理到 jetty/gwt

  • January 2, 2012

早上好!

我在 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>

這應該有效。

引用自:https://serverfault.com/questions/338118