Estou trabalhando em um servidor CentOS 7 e estou tentando fazer com que o JBoss funcione da maneira que eu também quero. Estou executando o Java 8 e o JBoss (descontroladamente) 8. Consegui instalá-los e trabalhar nas portas padrão, mas quero que o JBoss funcione na porta 80. Sei que posso fazê-lo funcionar na porta 80 se eu execute-o como root, mas sei que não é uma boa ideia e não quero executá-lo como root de forma alguma.
Tentei encaminhar a porta 80 para 8080, mas não consegui que ela funcionasse. Acho que estou perdendo um passo, mas não sei o que estou perdendo.
Estou usando o firewall-cmd. Abri as duas portas (80 e 8080) e habilitei o mascaramento para a zona pública. Eu também usei este comando para encaminhar a porta
firewall-cmd --zone=public --add-forward-port=port=80:proto=tcp:toport=8080.
Alguma idéia do que estou perdendo?
fonte
Respostas:
Acabei de encontrar uma maneira que tornou isso possível para mim:
fonte
firewall-cmd
A porta add-forward-port adicionará regras àPREROUTING
cadeia NAT, que é aplicável apenas aos pacotes gerados externamente. Se você está tentando se conectar ao host local (ou ao IP local do servidor) na porta 80 do servidor, isso falhará porque esses pacotes nunca passamPREROUTING
.Se você estiver se conectando à porta 80 de uma fonte externa, a
firewall-cmd
lista listada deverá funcionar corretamente. Sugiro verificar se sua interface está realmente na zona "pública".Você também pode executar o seguinte comando para obter contagens de pacotes na regra e garantir que ela esteja realmente sendo atingida:
iptables -t nat -vnL | grep 8080 -B1
Se a contagem de pacotes aumentar em cada tentativa, o firewall estará funcionando corretamente e você terá algum problema além do firewall (talvez uma ACL no JBOSS?). Se os pacotes não aumentarem a cada tentativa, a regra do firewall não será atingida, sugerindo que você esteja na zona errada ou que exista alguma outra regra que preveja a regra de encaminhamento de porta.
fonte