zzz*_*sys 9 networking firewall centos
我正在 CentOS 7 服务器上工作,并且我也在尝试让 JBoss 以我想要的方式工作。我正在运行 Java 8 和 JBoss(wildly) 8。我已经安装了它们并在默认端口上工作,但我想让 JBoss 在端口 80 上工作。我知道如果我可以让它在端口 80 上工作以 root 身份运行它,但我知道这不是一个好主意,我不想以任何方式以 root 身份运行它。
我已经尝试将端口 80 转发到 8080,但我还没有让它工作。我想我错过了一步,但我不知道我错过了什么。
我正在使用防火墙-cmd。我已经打开了两个端口(80 和 8080),并且为公共区域启用了伪装。我也用这个命令来转发端口
firewall-cmd --zone=public --add-forward-port=port=80:proto=tcp:toport=8080.
Run Code Online (Sandbox Code Playgroud)
知道我错过了什么吗?
小智 10
我刚刚找到了一种使我成为可能的方法:
firewall-cmd --zone=public --add-masquerade --permanent
firewall-cmd --zone=public --add-forward-port=port=443:proto=tcp:toport=3001 --permanent
Run Code Online (Sandbox Code Playgroud)
小智 0
firewall-cmd的 add-forward-port 会将规则添加到PREROUTINGNAT 链中,该规则仅适用于外部生成的数据包。如果您尝试连接到服务器上端口 80 上的 localhost(或服务器的本地 IP),它将失败,因为这些数据包永远不会通过PREROUTING。
如果您从外部源连接到端口 80,那么firewall-cmd您列出的端口应该可以正常工作。我建议验证您的界面是否确实位于“公共”区域。
您还可以运行以下命令来获取规则上的数据包计数,以确保它确实被命中:
iptables -t nat -vnL | grep 8080 -B1
如果每次尝试数据包计数都会增加,则说明防火墙工作正常,并且防火墙之外存在一些问题(可能是 JBOSS 上的 ACL?)。如果每次尝试数据包都没有增加,则说明防火墙规则根本没有受到影响,这表明您位于错误的区域,或者有其他规则抢占了端口转发规则。
| 归档时间: |
|
| 查看次数: |
33820 次 |
| 最近记录: |