Wie kann ich Anfragen, die über Port 80 eingehen, an einen anderen Port auf demselben Linux-Computer weiterleiten?
Früher habe ich das durch Ändern gemacht nat.conf
, aber dieser Computer, den ich verwende, hat kein NAT. Was ist die Alternative?
Wie kann ich Anfragen, die über Port 80 eingehen, an einen anderen Port auf demselben Linux-Computer weiterleiten?
Früher habe ich das durch Ändern gemacht nat.conf
, aber dieser Computer, den ich verwende, hat kein NAT. Was ist die Alternative?
Antworten:
Sie können die Umleitung mit iptables durchführen:
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
Ich befand mich gerade in dieser Frage und konnte keinen einfachen Weg finden. Ich möchte Nginx nicht auf meinem Computer installieren, um diese einfache Portweiterleitung durchzuführen.
Rinetd
hat bei mir nicht funktioniert, kein Arbeitspaket für meine Distribution. Ich ging socat
stattdessen für . Super einfach:
socat TCP-LISTEN:80,fork TCP:127.0.0.1:5000
Muss su
laufen, um am Port mithören zu können 80
.
Sie sollten einen Reverse-Proxy wie Nginx verwenden . Sie könnten beispielsweise Folgendes in Ihre nginx.conf
Datei einfügen:
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
}
}