Comment puis-je transférer les demandes arrivant sur le port 80 vers un autre port de la même machine Linux?
J'avais l'habitude de faire cela en changeant nat.conf
, mais cette machine que j'utilise n'a pas de NAT. Quelle est l'alternative?
Comment puis-je transférer les demandes arrivant sur le port 80 vers un autre port de la même machine Linux?
J'avais l'habitude de faire cela en changeant nat.conf
, mais cette machine que j'utilise n'a pas de NAT. Quelle est l'alternative?
Réponses:
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
sudo
Je viens juste de me trouver dans cette question et je ne pouvais pas trouver un moyen facile. Je ne veux pas installer Nginx sur ma machine pour effectuer ce transfert de port simple.
Rinetd
n'a pas fonctionné pour moi, pas de paquet de travail pour ma distribution. Je suis allé à la socat
place. Super simple:
socat TCP-LISTEN:80,fork TCP:127.0.0.1:5000
Doit être exécuté 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 ceci 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
}
}