1

在 CentOS 上安装 Glassfish 后仅解压缩 zip 存档,我的服务器没有绑定到 ipv4。

netstat -tnlup

我得到了结果:

Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name   
tcp        0      0 0.0.0.0:3306                0.0.0.0:*                   LISTEN      5278/mysqld         
tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      4621/sshd           
tcp        0      0 127.0.0.1:25                0.0.0.0:*                   LISTEN      4825/master         
tcp        0      0 :::8686                     :::*                        LISTEN      14659/java          
tcp        0      0 :::4848                     :::*                        LISTEN      14659/java          
tcp        0      0 :::8080                     :::*                        LISTEN      14659/java          
tcp        0      0 :::3700                     :::*                        LISTEN      14659/java          
tcp        0      0 :::8181                     :::*                        LISTEN      14659/java          
tcp        0      0 :::22                       :::*                        LISTEN      4621/sshd           
tcp        0      0 ::1:25                      :::*                        LISTEN      4825/master         
tcp        0      0 :::7676                     :::*                        LISTEN      14659/java          
udp        0      0 0.0.0.0:68                  0.0.0.0:*                               1168/dhclient       

如何强制 glassfish 也监听 ipv4 地址?

4

2 回答 2

0

您可能会发现 Glassfish 绑定到 IPv4(和 IPv6)但被 iptables 防火墙设置阻止:

作为根:

/etc/init.d/iptables stop

然后尝试通过 IPv4 访问 Glassfish。如果可行,那么您可以重新启用 iptables 并为您的环境设置适当的规则。

当 CentOS 也绑定在 IPv6 上时,它们没有显示绑定在 IPv4 上的端口,这对我来说似乎是一个错误(2.6.32-358.23.2.el6.x86_64)。

于 2013-11-08T09:27:42.587 回答
0

我刚遇到同样的问题。尚不确定是什么触发了该问题,因为我有另外两台使用相同软件的服务器没有显示此问题。

就我而言,我可以通过添加此环境变量来修复它: export _JAVA_OPTIONS="-Djava.net.preferIPv4Stack=true"

一旦我用这个变量重新启动 Java,它就会绑定到 IPv4,而不是 v6。我很好奇为什么它对两者都没有约束力。

于 2015-12-07T14:28:58.140 回答