付録A Java IPv4/IPv6 プロパティー

Java プロパティーの設定

Java には、IPv4 と IPv6 の設定に使用する 2 つのプロパティーがあります。これらは java.net.preferIPv4Stack および java.net.preferIPv6Addresses です。

java.net.preferIPv4Stack (default: false)

IPv6 が利用できる場合は、デフォルトで基礎となるネイティブソケットが IPv6 ソケットになります。このソケットにより、アプリケーションが IPv4 および IPv6 ホストからの接続を許可できるようになります。アプリケーションが IPv4 ソケットのみを使用する場合は、このプロパティーを true に設定します。ただし、アプリケーションが IPv6 のみのホストと通信することはできません。

java.net.preferIPv6Addresses (デフォルト: false)

ホストに IPv4 アドレスと IPv6 アドレスの両方があり、IPv6 が利用できる場合には、デフォルトの動作では IPv6 上で IPv4 アドレスを使用します。これにより、後方互換性を維持できます。192.168.1.1. など、IPv4 アドレス表現に依存するアプリケーションの場合、可能な場合は IPv4 で IPv6 アドレスを使用するように、このプロパティーを true に設定します。

これらのプロパティーを Tomcat に渡すには、JWS_HOME/tomcat/bin/setenv.* ファイルに CATALINA_OPTS を設定します。

注記

JWS_HOME/tomcat/bin/setenv.sh または JWS_HOME/tomcat/bin/setenv.bat ファイルが存在しない場合は、作成する必要があります。

Linux の場合:

export "CATALINA_OPTS=-Djava.net.preferIPv4Stack=YOUR_VALUE -Djava.net.preferIPv6Addresses=YOUR_VALUE"

Windows の場合:

set "CATALINA_OPTS=-Djava.net.preferIPv4Stack=YOUR_VALUE -Djava.net.preferIPv6Addresses=YOUR_VALUE"

Tomcat バインディングの設定

Tomcat バインディングは、IPv6 アドレスを使用して JWS_HOME/tomcat/conf/server.xml で設定できます。

  • Tomcat バインディングアドレスを指定します。

    <Server …​ address="TOMCAT_BINDING_ADDRESS">

  • HTTP コネクターアドレスを指定します。

    <Connector protocol="HTTP/1.1" …​ address="HTTP_CONNECTOR_ADDRESS">

  • AJP コネクターアドレスを指定します。

    <Connector protocol="AJP/1.3" …​ address="AJP_CONNECTOR_ADDRESS">