Como encaminhar a porta 80 para outra porta na mesma máquina?

30

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?

    
por Nohsib 12.10.2011 / 00:33

3 respostas

42

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
    
por 12.10.2011 / 01:34
10

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
   }
}
    
por 12.10.2011 / 00:42
9

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 .

    
por 03.02.2016 / 21:36