附录 A. Java IPv4/IPv6 属性
配置 Java 属性
在 Java 中,有 2 个属性可用于配置 IPv4 和 IPv6。以下是 java.net.preferIPv4Stack 和 java.net.preferIPv6Addresses。
java.net.preferIPv4Stack (default: false)
如果 IPv6 可用,则默认情况下底层原生套接字是 IPv6 套接字。此套接字允许应用连接和接受来自 IPv4 和 IPv6 主机的连接。如果应用仅使用 IPv4 套接字,则将此属性设为 true。但是,应用无法仅与 IPv6 通信。
java.net.preferIPv6Addresses (default: false)
如果主机同时具有 IPv4 和 IPv6 地址,并且 IPv6 都可用,则默认行为是通过 IPv6 使用 IPv4 地址。这样可实现向后兼容。如果应用程序依赖于 IPv4 地址表示法,例如: 192.168.1.1.然后,将此属性设置为 true 以更改首选项,并尽可能在 IPv4 上使用 IPv6 地址。
要将这些属性传递给 Tomcat,请在 JWS 。
_HOME /tomcat/bin/setenv.*文件中设置 CATALINA_OPTS
如果 JWS_HOME/tomcat/bin/setenv.sh 或 JWS_HOME/tomcat/bin/setenv.bat 文件不存在,则需要创建一个文件。
在 Linux 中:
导出"CATALINA_OPTS=-Djava.net.preferIPv4Stack=YOUR_VALUE -Djava.net.preferIPv6Addresses=YOUR_VALUE"
在 Windows 中:
设置 "CATALINA_OPTS=-Djava.net.preferIPv4Stack=YOUR_VALUE -Djava.net.preferIPv6Addresses=YOUR_VALUE"
配置 Tomcat 绑定
Tomcat 绑定可以在 JWS_HOME/tomcat/conf/server.xml 中设置,其 IPv6 地址:
指定 Tomcat 绑定地址:
<Server … 地址="TOMCAT_BINDING_ADDRESS">指定 HTTP 连接器地址:
<Connector 协议="HTTP/1.1" … address="HTTP_CONNECTOR_ADDRESS">指定 AJP 连接器地址:
<Connector 协议="AJP/1.3" … address="AJP_CONNECTOR_ADDRESS">