Glassfish安装在CentOS上没有绑定ipv4端口

时间:2013-08-27 10:10:33

标签: linux glassfish

在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地址呢?

2 个答案:

答案 0 :(得分:0)

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

以root身份:

/etc/init.d/iptables stop

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

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

答案 1 :(得分:0)

我刚遇到同样的问题。还不确定是什么引发了这个问题,因为我有两个其他服务器使用相同的软件但没有显示这个问题。

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

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