在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地址呢?
答案 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。我很好奇它为什么不对两者都有约束力。