We've been having some spurious issues that may be attributed to some network changes due to IPv6 compatibility.
I tried the workaround: address="0.0.0.0" in the Connector tag, but the access log still contains only IPv6 addresses.
如果您的服务器正在接受来自 IPv6 客户端的连接,那么您有时会获得 IPv6 地址。您是否将 Tomcat 与另一个可能接受 IPv6 连接并通过 IPv4 转发的 Web 服务器连接起来?如果是这样,您将需要重新配置 Web 服务器。
您可以尝试添加-Djava.net.preferIPv4Stack=true
到您CATALINA_OPTS
的应用程序服务器上。
更新 2015-09-03
即使您在服务器上完全禁用了IPv6,您可能会在访问日志中获得 IPv6 地址还有其他原因。例如,如果您在 Tomcat 前面有一个反向代理,它可能会发送一个X-Forwarded-For
包含 IPv6 地址的标头。假设您“正确”配置了 Tomcat,Tomcat 会将真实客户端的 IP 地址(以 IPv6 形式)记录到您的访问日志中,而不是使用反向代理的 IP 地址到您的日志中(这将是无用的,因为看起来所有请求来自反向代理)。
因此,如果您的软件由于某种原因无法处理 IPv6,那么您确实需要修复该软件,因为您确实无法躲避 IPv6。