it-swarm.com.de

Wie leite ich Port 80 an einen anderen Port auf demselben Computer weiter?

Wie kann ich an Port 80 eingehende Anfragen an einen anderen Port auf demselben Linux-Computer weiterleiten?

Ich habe das gemacht, indem ich nat.conf, aber diese Maschine, die ich benutze, hat kein NAT. Was ist die Alternative?

41
Nohsib

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
48
Thomas Vincent

Ich habe mich gerade in dieser Frage befunden 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 habe mich stattdessen für socat entschieden. Super einfach:

socat TCP-LISTEN:80,fork TCP:127.0.0.1:5000

Muss als su ausgeführt werden, um Port 80 Abhören zu können.

15
alfetopito

Sie sollten sich die Verwendung eines Reverse Proxy ansehen, z. B. Nginx. Zum Beispiel könnten Sie so etwas in Ihr nginx.conf Datei:

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
    }
}

10
Tilo