2 oder mehr Webserver teilen sich eine statische IP

2 oder mehr Webserver teilen sich eine statische IP

Ich habe 1 statische IP von meinem ISP. Ich habe 2 NS (vom NS-Anbieter), die meinen Domänennamen auf meine WAN-IP verweisen. Meine Frage: Wie kann ich erreichen, dass server1.domainname.td Server 1 in meinem Netzwerk erreicht, server2.domainname.td Server 2 erreicht, der sich
ebenfalls in meinem lokalen Netzwerk befindet (Server1 = 192.168.1.2 und Server2 = 192.168.1.3), beide unter Verwendung von nur Port 80 (keine Portweiterleitung) (Server1 = MS Win, Server2 = Linux)? Zweite Frage: Wie kann ich server3.domainname.td auf einem Server erreichen, der sich außerhalb meines Netzwerks befindet (eine andere statische IP im Internet)?

Antwort1

Wenn Sie nur eine IP-Adresse (also einen Port 80und 443) haben, müssen Sie einenReverseproxywienginxum Anfragen an den entsprechenden internen Server weiterzuleiten.

Sie müssen einen ADNS-Eintrag für Ihre öffentliche Adresse hinzufügen server1.example.comund auf diese verweisen.server2.example.com

DernginxServer läuft möglicherweise auf Ihrem Gateway, wenn Sie einen guten Router haben mitOpenWrtFirmware oder ein professioneller Router mit Proxy-Funktionen. Andernfalls müssen Sie einen der internen Server verwenden und eine Portweiterleitung vom Router zum internen Server einrichten.

Es gibt viele Tutorials online zur Konfigurationnginx als Reverseproxy.

Beachten Sie, dass diese Konfiguration langsam und fehleranfällig ist. Für eine professionelle Bereitstellung verwenden Sie ein externes Webhosting.

Antwort2

Wenn Sie sich nur um den Webverkehr (Port 443 oder Port 80) kümmern, verwenden Sie, wie andere vorgeschlagen haben, nginx. Es ist sehr leichtgewichtig. Das ist, was ich mache.

Erstellen Sie unter Linux in /etc/nginx eine Datei für Ihr Netzwerk (z. B. proxy.conf):

server {
    listen       80;
    server_name  server1.domainname.td;

    location / {
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header Host $host;
        proxy_pass http://localhost:8085;
    }
}

Erstellen Sie diese Strophe in einer Datei (sagen wir ... route.conf) und platzieren Sie sie unter /etc/nginx (ich nehme an, Linux). Fügen Sie so viele Strophen hinzu, wie für Ihre Zwecke nötig sind. Fügen Sie sie in /etc/nginx/nginx.conf ein:

include /etc/nginx/route.conf  (do this before the closing bracket)

Ändern Sie für Server3 den Proxy-Pass in Ihren Hostnamen oder Ihre IP:

proxy_pass http://youroutsideserver ..

AKTUALISIEREN: Wie von Piotr angegeben, platzieren Sie Ihre route.conf-Datei in /etc/nginx/sites-available und erstellen Sie einen symbolischen Link zu Ihrem sites-enabled-Verzeichnis

ln -s /etc/nginx/sites-available/router.conf /etc/nginx/sites-enabled

verwandte Informationen