0

我有一个位于路由器后面的网络服务器。该服务器上的其中一个 servlet 依赖于用户的 IP 地址,但是,我经常获得路由器的 IP(即 192.168.1.1)而不是真实 IP。

我该如何解决?

4

3 回答 3

4

听起来你的“路由器”实际上就像一个反向代理。

您不太可能在 Java 中解决这个问题……甚至在您的服务器机器上。这听起来像一个路由器配置问题。您最好寻求有关“超级用户”或“服务器故障”的帮助。

要记住的一件事是,通过 IP 地址识别客户端总是有点狡猾。即使您已经解决了当前的问题,真实的客户端 IP 地址也可能由于各种原因无法使用:

  • 客户端的 IP 可能已经过 NAT。

  • 客户端可能正在通过一系列 HTTP 代理与您的网络服务器通信。

  • 客户端可能在欺骗其 IP 地址。

于 2012-08-28T05:20:24.073 回答
0

http://www.whatismyip.com/ 获取您的全球 IP ,我认为您可能还需要在具有 servlet 的用户的路由器上配置端口转发。

于 2012-08-28T05:18:08.237 回答
0

我建议访问http://wwww.whatismyip.com以获取 IP 地址,以防您没有尝试过这种方式。您将从这个链接中获得更多想法。

在 Java 中获取“外部”IP 地址

于 2012-08-28T05:19:26.910 回答