我正在CentOS 7服务器上工作,我也试图让JBoss以我想要的方式工作。我正在运行Java 8和JBoss (广泛地)8。我已经安装了这些端口并在默认端口上工作,但是我想让JBoss在端口80上工作。我知道如果我作为root运行它,我可以让它在端口80上工作,但我知道这不是一个好主意,我不想以root的方式运行它。
我试过把端口80转到8080,但我还没有开始工作。我想我错过了一步,但我不知道我错过了什么。
我在用防火墙-cmd。我已经开放了两个端口(80和8080),并允许伪装为公共区域。我还使用了这个命令来转发端口。
firewall-cmd --zone=public --add-forward-port=port=80:proto=tcp:toport=8080. 知道我错过了什么吗?
发布于 2015-08-13 08:26:01
我刚找到了一种让这一切成为可能的方法:
firewall-cmd --zone=public --add-masquerade --permanent
firewall-cmd --zone=public --add-forward-port=port=443:proto=tcp:toport=3001 --permanent发布于 2014-12-22 07:40:28
firewall-cmd's添加转发端口将为PREROUTING NAT链添加规则,该规则仅适用于外部生成的数据包。如果您试图连接到服务器80端口上的本地主机(或服务器的本地IP),则会失败,因为这些数据包永远不会通过PREROUTING。
如果您从外部源连接到端口80,那么您列出的firewall-cmd应该正常工作。我建议确认您的界面实际上处于“公共”区域。
您还可以运行以下命令来获取该规则的数据包计数,以确保它确实被击中:
iptables -t nat -vnL | grep 8080 -B1
如果数据包计数在每次尝试中增加,那么防火墙正常工作,并且您在防火墙之外有一些问题(可能是JBOSS上的ACL?)。如果数据包在每次尝试中没有增加,防火墙规则就根本不会被击中,这意味着您要么处于错误的区域,要么有其他规则抢占端口转发规则。
https://serverfault.com/questions/654102
复制相似问题