Você pode realizar o redirecionamento com o iptables:
iptables -A INPUT -i eth0 -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --dport 8080 -j ACCEPT
iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080
Como posso encaminhar solicitações chegando na porta 80 para outra porta na mesma máquina linux?
Eu costumava fazer isso alterando nat.conf
, mas essa máquina que estou usando não tem NAT. Qual a alternativa?
Você pode realizar o redirecionamento com o iptables:
iptables -A INPUT -i eth0 -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --dport 8080 -j ACCEPT
iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080
Você deve procurar usar um proxy reverso , como Nginx ...
por exemplo. coloque isso no seu arquivo nginx.conf:
server {
listen 80;
server_name your_ip_address your_server_name
access_log /var/log/nginx/your_domain/access.log ;
error_log /var/log/nginx/your_domain/error.log info ;
location / {
proxy_pass http://127.0.0.1:3000; # pass requests for dynamic content to Rails app
}
}
Encontrei-me nesta questão e não encontrei um caminho fácil.
Não quero instalar o Nginx na minha máquina para fazer este simples encaminhamento de porta.
Rinetd
não funcionou para mim, nenhum pacote de trabalho para minha distro.
Eu usei socat
. Super simples:
# socat TCP-LISTEN:80,fork TCP:127.0.0.1:5000
Deve ser executado como su
para poder escutar na porta 80
.