Comment puis-je transférer les demandes provenant du port 80 vers un autre port sur la même machine Linux?
Je faisais cela en changeant nat.conf
, mais cette machine que j'utilise n'a pas de NAT. Quelle est l'alternative?
Vous pouvez effectuer la redirection avec 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
Je me suis retrouvé dans cette question et je n'ai pas trouvé de moyen facile. Je ne veux pas installer Nginx sur ma machine pour effectuer cette simple redirection de port.
Rinetd
n'a pas fonctionné pour moi, pas de package de travail pour ma distribution. J'ai opté pour socat
à la place. Super simple:
socat TCP-LISTEN:80,fork TCP:127.0.0.1:5000
Doit être exécuté en tant que su
pour pouvoir écouter sur le port 80
.
Vous devriez envisager d'utiliser un proxy inverse, tel que Nginx. Par exemple, vous pourriez mettre quelque chose comme ça dans votre nginx.conf
fichier:
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
}
}