ルーターの背後にあるWebサーバーがあります。そのサーバー上のサーブレットの1つは、ユーザーのIPアドレスに依存していますが、実際のIPではなくルーターのIP(つまり、192.168.1.1)を取得することがよくあります。
どうすれば修正できますか?
「ルーター」が実際にリバース プロキシのように動作しているようです。
これをJavaで解決できる可能性は低いです...またはサーバーマシンでさえ. ルーターの設定の問題のようです。「superuser」または「serverfault」で助けを求めるほうがよいかもしれません。
心に留めておくべきことの 1 つは、IP アドレスでクライアントを識別することは常に少し危険だということです。現在の問題を解決した後でも、実際のクライアント IP アドレスはさまざまな理由で利用できない場合があります。
クライアントの IP は NAT されている可能性があります。
クライアントは、一連の HTTP プロキシを介して Web サーバーと通信している可能性があります。
クライアントが IP アドレスをスプーフィングしている可能性があります。
http://www.whatismyip.com/からグローバル IP を取得します。サーブレットを使用しているユーザーのルーターでポート転送を構成する必要があるかもしれません。
その方法を試していない場合は、 http: //wwww.whatismyip.com にアクセスして IP アドレスを取得することをお勧めします。このリンクからより多くのアイデアを得ることができます。