我刚刚安装了带有嵌入式 Tomcat 的 Jira,它在端口 8080 上运行。我给出iptables -I INPUT -p tcp --dport 8080 -j ACCEPT
并netstat -tpln
说:
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 645/sshd
tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN 29336/java
tcp 0 0 127.0.0.1:5432 0.0.0.0:* LISTEN 13598/postgres
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1101/master
tcp6 0 0 :::22 :::* LISTEN 645/sshd
tcp6 0 0 ::1:5432 :::* LISTEN 13598/postgres
tcp6 0 0 ::1:25 :::* LISTEN 1101/master
tcp6 0 0 127.0.0.1:8005 :::* LISTEN 27788/java
tcp6 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN 29336/java
在本地,它可以工作。从远程则不行。我应该检查什么才能更好地了解问题?
PS 我也按照这个来保存 iptables 更改:https://stackoverflow.com/questions/24756240/how-can-i-use-iptables-on-centos-7
PPS 我也用 ip6tables 执行了前面的命令
答案1
使用更精确的命令就足够了,就像这样:iptables -I INPUT 4 -p tcp --dport 8080 -j ACCEPT
答案2
看来 Tomcat 只监听 IPv6。是不是您在安装过程中遗漏了什么?
查看此链接了解更多信息:https://confluence.atlassian.com/display/JIRAKB/如何在特定 IP 上运行 JIRA
答案3
我应该检查什么?
这
tcp6 0 0 :::8080 :::* LISTEN 27788/java
您的 Jira 进程似乎正在监听 IPv6 TCP 端口,而不是 IPv4 TCP 端口。您仅在 IPv4 防火墙上打开了一个端口,您需要在 IPv6 防火墙上打开相同的端口 - 请参阅ip6tables(1)。
在 CentOS 7 上还有防火墙,它可能提供更好的解决方案。