技術空間

Tomcat

TomcatでgetRemoteAddr()がIPv6になる場合の対処


TOP > Tomcat > TomcatでgetRemoteAddr()がIPv6になる場合の対処



■TomcatでgetRemoteAddr()がIPv6になる場合の対処

Tomcat上のアプリでクライアントIPアドレスを取得しようとすると「0:0:0:0:0:0:0:1」のようにIPv6形式になっていることがある。 具体的にはHttpServletRequestのgetRemoteAddr()の値がIPv6形式になる。

「127.0.0.1」のようにIPv4形式で取得したい場合、Javaの起動コマンドに以下のオプションを追加する。

追加オプション
 -Djava.net.preferIPv4Stack=true

Eclipse + Tomcatの場合(かつサーバビューから起動の場合)、以下の手順で追加する。

①サーバを右クリックして「開く」 > 「起動構成を開く」

②「VM 引数」の最後に「-Djava.net.preferIPv4Stack=true」を追加。



TOP > Tomcat > TomcatでgetRemoteAddr()がIPv6になる場合の対処

Tweet ̃Gg[͂ĂȃubN}[Nɒlj
技術空間