Spring Boot 应用程序在没有 -Djava.net.preferIPv4Stack=true 和 -Djava.net.preferIPv4Addresses 参数的情况下侦听 IPv6

2024-01-12


我关于 Spring boot jar 的问题。 在生产机器上运行 jar 时:

java -jar xyz.jar

它没有响应我的请求。因为它正在监听 ipv6。

但是当我运行应用程序时
java -jar xyz.jar -Djava.net.preferIPv4Stack=true -Djava.net.preferIPv4Addresses

它响应我的请求。

是生产机器的配置导致应用程序监听 ipv6,还是有其他原因?

幸运的是
-Djava.net.preferIPv4Stack=true
-Djava.net.preferIPv4Addresses
参数解决了我的问题。但我很困惑!!

注:Tomcat用作嵌入式服务器。
Spring引导版本1.5.4发布


Here https://docs.oracle.com/javase/8/docs/technotes/guides/net/ipv6_guide/index.html https://docs.oracle.com/javase/8/docs/technotes/guides/net/ipv6_guide/index.html我读到“Java 网络堆栈首先检查底层操作系统是否支持 IPv6。如果支持 IPv6,它会尝试使用 IPv6 堆栈。”

要检查您的 Linux 计算机是否支持 IPv6,只需运行“cat /proc/net/if_inet6”,如果您看到一些输出,则表示它已启用。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Spring Boot 应用程序在没有 -Djava.net.preferIPv4Stack=true 和 -Djava.net.preferIPv4Addresses 参数的情况下侦听 IPv6 的相关文章

随机推荐