Heim > Betrieb und Instandhaltung > Nginx > Der Nginx-Reverse-Proxy legt den Domänennamen fest und implementiert die Weiterleitung elegant

Der Nginx-Reverse-Proxy legt den Domänennamen fest und implementiert die Weiterleitung elegant

WBOY
Freigeben: 2023-07-04 18:49:37
Original
9119 Leute haben es durchsucht

Der Nginx-Reverse-Proxy legt den Domänennamen fest und implementiert die Weiterleitung auf elegante Weise.

Übersicht
In der Webentwicklung stoßen wir häufig auf Situationen, in denen ein Proxy zum Weiterleiten von Anforderungen erforderlich ist. Als Hochleistungs-Webserver kann Nginx Anforderungen über einen Reverse-Proxy weiterleiten und so einen effizienten Lastausgleich und eine dynamische Konfiguration erreichen.

Das Grundprinzip des Nginx-Reverse-Proxy besteht darin, die Anfrage vom Client an den Nginx-Server zu senden, und der Nginx-Server leitet die Anfrage dann an den Back-End-Server weiter, der die Anfrage tatsächlich verarbeitet. Durch Festlegen des Domänennamens können wir unterschiedliche Proxy-Weiterleitungsregeln für Anfragen von unterschiedlichen Domänennamen implementieren.

Legen Sie den Domänennamen fest
Um die Proxy-Weiterleitung des Domänennamens zu implementieren, müssen Sie zunächst die Auflösung des Domänennamens konfigurieren. Angenommen, wir haben zwei Domänennamen, die weitergeleitet werden müssen, nämlich www.example1.com und www.example2.com. Wir können diese beiden Domänennamen in der Konsole des DNS-Dienstanbieters in die IP-Adresse des Nginx-Servers auflösen.

Als nächstes müssen wir die Proxy-Weiterleitungsregeln für den Domänennamen in der Nginx-Konfigurationsdatei festlegen. Öffnen Sie die Nginx-Konfigurationsdatei, die sich normalerweise unter /etc/nginx/nginx.conf befindet, suchen Sie den Serverblock und konfigurieren Sie dann den entsprechenden Domänennamen und die Weiterleitungsregeln im Serverblock.

Der Beispielcode lautet wie folgt:

server {
    listen 80;
    server_name www.example1.com;

    location / {
        proxy_pass http://backend1;
        proxy_set_header Host $host;
    }
}

server {
    listen 80;
    server_name www.example2.com;

    location / {
        proxy_pass http://backend2;
        proxy_set_header Host $host;
    }
}
Nach dem Login kopieren

Im obigen Code definieren wir zunächst einen Serverblock, stellen den Befehl „listen“ so ein, dass er Port 80 überwacht, und der Befehl „server_name“ setzt den Domänennamen auf www.example1.com. Die Konfigurationsanweisung „proxy_pass“ im Standortblock gibt an, dass das Weiterleitungsziel der Anfrage http://backend1 ist. Die Proxy_set_header-Direktive setzt das Host-Feld des Anforderungsheaders auf $host, um die Authentizität der Anforderung aufrechtzuerhalten.

In ähnlicher Weise fügen wir einen weiteren Serverblock hinzu, setzen server_name auf www.example2.com und Proxy_pass auf http://backend2.

Konfigurieren des Weiterleitungsziels
In der obigen Konfiguration haben wir Backend1 und Backend2 als Weiterleitungsziele verwendet. Diese beiden Ziele beziehen sich auf die Adresse des Backend-Servers, bei der es sich um einen Domänennamen, eine IP-Adresse oder einen UNIX-Domänen-Socket handeln kann.

Um diese beiden Weiterleitungsziele mit dem Backend-Server zu verknüpfen, der die Anfrage tatsächlich verarbeitet, müssen wir einen Upstream-Block innerhalb des http-Blocks der Nginx-Konfigurationsdatei hinzufügen. Der Beispielcode lautet wie folgt:

http {
    upstream backend1 {
        server backend1.example.com;
    }
    upstream backend2 {
        server backend2.example.com;
    }
}
Nach dem Login kopieren

Im obigen Code haben wir Zwei Upstream-Blöcke werden definiert, um die Adresse des Backend-Servers über die Serveranweisung mit Backend1 und Backend2 zu verknüpfen. Darunter sind backend1.example.com und backend2.example.com die Adressen der Backend-Server, die die Anfrage tatsächlich bearbeiten.

Nginx neu starten
Nach Abschluss der Konfiguration des Domänennamens und des Weiterleitungsziels müssen wir den Nginx-Server neu starten, damit die Konfiguration wirksam wird. Geben Sie im Terminal den folgenden Befehl ein, um neu zu starten:

sudo service nginx restart
Nach dem Login kopieren

Anschließend können Sie testen, ob die Weiterleitung korrekt eingestellt ist, indem Sie www.example1.com und www.example2.com besuchen.

Zusammenfassung
Durch Festlegen des Domänennamens und der Weiterleitungsregeln können wir den Reverse-Proxy von Nginx implementieren und Anforderungen an verschiedene Backend-Server weiterleiten. Dadurch können Sie Weiterleitungsregeln flexibel konfigurieren und einen effizienten Lastausgleich und eine dynamische Konfiguration erreichen. Gleichzeitig bietet Nginx auch eine Fülle von Modulen und Funktionen, die die Fähigkeiten des Reverse-Proxys weiter erweitern und mehr Anforderungen erfüllen können.

Das obige ist der detaillierte Inhalt vonDer Nginx-Reverse-Proxy legt den Domänennamen fest und implementiert die Weiterleitung elegant. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage