我有一个用 java 编写的遗留服务器应用程序,过去六年来它在运行 Java 6 的 windows 2003 机器上运行良好。
我们最近将该应用程序迁移到运行最新版本 java 的全新 windows 2008 机器上。
尽管该应用程序似乎运行良好,但有一个奇怪的问题
该代码String remoteip=socket.getInetAddress().getHostAddress()
似乎返回服务器机器的互联网 IP,而不是返回远程客户端的 IP。
在过去的 6-7 年里,这在 Linux 和 Windows 2003 机器上都可以正常工作。
为了仔细检查所有设置,我在 IIS 上建立了一个小型 php 网站并打印了 REMOTE_ADDr 变量的值。它打印了客户端的正确 IP 地址。
关于什么可能会混淆 Java 应用程序的任何线索?