Come posso inoltrare le richieste in arrivo sulla porta 80 a un'altra porta sulla stessa macchina Linux?
Lo facevo cambiando nat.conf
, ma questa macchina che sto usando non ha NAT. Qual è l'alternativa?
Come posso inoltrare le richieste in arrivo sulla porta 80 a un'altra porta sulla stessa macchina Linux?
Lo facevo cambiando nat.conf
, ma questa macchina che sto usando non ha NAT. Qual è l'alternativa?
Risposte:
È possibile eseguire il reindirizzamento con 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
sudo
Mi sono appena trovato in questa domanda e non sono riuscito a trovare un modo semplice. Non voglio installare Nginx sul mio computer per fare questo semplice port forwarding.
Rinetd
non ha funzionato per me, nessun pacchetto funzionante per la mia distribuzione. Sono andato socat
invece. Super semplice:
socat TCP-LISTEN:80,fork TCP:127.0.0.1:5000
Deve essere eseguito su
per poter ascoltare sulla porta 80
.
Dovresti guardare usando un proxy inverso , come Nginx . Ad esempio, potresti inserire qualcosa del genere nel tuo nginx.conf
file:
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 to the destination
}
}