作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我关于 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 Boot 1.5.4 版本发布
最佳答案
这里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”,如果您看到一些输出,则表示它已启用。
关于Spring Boot 应用程序在没有 -Djava.net.preferIPv4Stack=true 和 -Djava.net.preferIPv4Addresses 参数的情况下监听 IPv6,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44718174/
我是一名优秀的程序员,十分优秀!