早上好!
我在 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;
这工作得很好,只是 jetty 的日志不显示 X-Real-IP,而是显示 127.0.0.1。此外,jetty/GWT 的 IP 为 127.0.0.1 getThreadLocalRequest().getRemoteAddr()
,尽管我可以访问 X-Real-IP 来获取正确的远程 IP。
有什么想法可以获取码头日志的正确远程 IP 并使其getThreadLocalRequest().getRemoteAddr()
正常工作?
谢谢!
答案1
您只需在 /etc/jetty.xml 中将转发配置添加到连接器即可。示例:
<Call name="addConnector">
<Arg>
<New class="org.eclipse.jetty.server.nio.SelectChannelConnector">
<Set name="forwarded">true</Set>
这应该可行。