gpt4 book ai didi

java - 如何强制 Jetty 使用 IPv4

转载 作者:行者123 更新时间:2023-11-30 02:44:14 25 4
gpt4 key购买 nike

我正在使用独立的 jetty 9.1.5 来部署 java web 应用程序。我希望 jetty 使用 IPv4 而不是 IPv6,但我无法做到!当我输入 netstat -tnlp 时,我可以看到以下结果:

tcp6       0      0 127.0.0.1:554           :::*                    LISTEN      27535/java

...这告诉我,即使在我的 jetty-http.xml 文件上,jetty 也在使用 IPv6:

<Set name="host"><Property name="jetty.host"  default="127.0.0.1" /></Set>

我还使用以下 java 选项启动 jetty:

-Djava.net.preferIPv4Stack=true -Djava.net.preferIPv4Addresses

...但无济于事; Jetty 一直使用 IPv6,但我无法强制它使用 IPv4。有什么想法吗?

最佳答案

Java is making the decision to use IPv4 or IPv6 ,而不是 jetty 。

Jetty 9.1.5 已经很老了,请考虑至少升级到 Jetty 9.2.x 系列。

示例 127.0.0.1:554 不是 IPv6 本地地址,您的 netstat 输出出现问题。

${jetty.base}/start.ini 中指定 jetty.host,不要编辑 jetty-http.xml >.

Important Note: Do not edit, change, delete, rename, move, etc any content in your ${jetty.home}. Specify your configuration in your ${jetty.base}.

您是否尝试使用127.0.0.1:554连接到正在运行的服务器? (它可能会起作用)

如果您不希望 Java 默认为 IPv6,那么 java 命令行选项将如下所示...

$ cd /path/to/mybase
$ java -Djava.net.preferIPv4Stack=true -jar /path/to/jetty-dist/start.jar

但是,如果您的计算机上没有 IPv4 堆栈(例如没有带有 IPv4 地址的网络接口(interface),这是一种非常常见的设置),那么这个 java 命令行选项/参数几乎毫无意义.

关于java - 如何强制 Jetty 使用 IPv4,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40724761/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com