GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Reverse Proxy mit Nginx:Eine Schritt-für-Schritt-Anleitung zur Einrichtung

Diese Schritt-für-Schritt-Anleitung zeigt Ihnen, wie Sie mit Nginx ganz einfach einen Reverse-Proxy einrichten können, um die Sicherheit und Leistung zu verbessern.

Eines der derzeit beliebtesten Reverse-Proxy-Tools ist Nginx. Obwohl Nginx selbst ein Webserver ist, leistet es hervorragende Arbeit als Reverse-Proxy.

Was ist ein Reverse-Proxy?

Ein Reverse-Proxy ist ein Server, der zwischen internen Anwendungen und externen Clients sitzt und Client-Anfragen an den entsprechenden Server weiterleitet.

Der Reverse-Proxy-Dienst fungiert als Front-End, verarbeitet alle eingehenden Client-Anforderungen und verteilt sie an das Back-End-Web, die Datenbank oder andere Server.

Die Verwendung von Nginx als Reverse-Proxy bietet Ihnen mehrere zusätzliche Vorteile:

  • Load-Balancing – Nginx kann einen Lastenausgleich durchführen, um Client-Anfragen auf Proxy-Server zu verteilen und so die Leistung, Skalierbarkeit und Zuverlässigkeit zu verbessern.
  • Verbesserte Sicherheit – Mit einem Reverse-Proxy haben Clients keine Informationen über unsere Backend-Server, sodass böswillige Clients auf keinen Fall direkt auf sie zugreifen können, um Schwachstellen auszunutzen. Aus Kundensicht sieht es so aus, als käme alles aus einer Hand.
  • Bessere Leistung – Mit Nginx als Reverse-Proxy können Sie die vorgerenderten Versionen von Seiten zwischenspeichern, um die Ladezeiten der Seiten zu verkürzen. Es funktioniert, indem es die von den Antworten der Proxy-Server empfangenen Inhalte zwischenspeichert und verwendet, um Clients zu antworten, ohne den Proxy-Server jedes Mal wegen derselben Inhalte zu kontaktieren.
  • SSL-Beendigung – Nginx kann als SSL-Endpunkt für Verbindungen mit den Clients fungieren. Es verarbeitet und entschlüsselt eingehende SSL-Verbindungen und verschlüsselt die Antworten des Proxy-Servers.

Wie man einen Reverse-Proxy mit Nginx einrichtet

1. Installieren von Nginx

Nginx ist die beliebteste Webserver-Suite, die im Internet bereitgestellt wird. Er kann als Reverse-Proxy-Server fungieren, indem er Webverkehr an bestimmte Server weiterleitet.

Lassen Sie mich Ihnen zeigen, wie Sie Nginx auf verschiedenen Linux-Distributionen installieren.

Führen Sie die folgenden Befehle aus, um Nginx unter Debian, Ubuntu, Linux Mint, Kali und anderen Debian- oder Ubuntu-Derivaten zu installieren:

sudo apt update
sudo apt install nginx

Führen Sie unter Fedora, CentOS, Red Hat und anderen Fedora- oder Red Hat-Derivaten die folgenden Befehle aus:

sudo dnf upgrade
sudo dnf install nginx

Um Nginx unter Arch Linux, Manjaro und anderen Arch-Derivaten zu installieren, führen Sie die folgenden Befehle aus:

sudo pacman -Syu
sudo pacman -S nginx

Nach Abschluss der Installation können Sie überprüfen, ob Nginx korrekt installiert ist, indem Sie die Softwareversion überprüfen. Geben Sie Folgendes ein:

nginx -v
nginx version: nginx/1.18.0 (Ubuntu)

2. Konfigurieren von Nginx

Wir haben die primäre Website unter example.com installiert Domänenname auf demselben Server, auf dem unser Nginx ausgeführt wird. Unsere WordPress-Blog-Site ist jedoch unter blog.example.com installiert Subdomain auf einem anderen Server mit der IP-Adresse 127.0.1.10 .

Wir müssen einen Reverse-Proxy mit Nginx konfigurieren, um Anfragen für blog.example.com weiterzuleiten Subdomain, damit alle Anfragen an 127.0.1.10 weitergeleitet werden . Befolgen Sie dazu die nachstehenden Schritte.

1. Deaktivieren Sie den standardmäßig vorkonfigurierten virtuellen Nginx-Host:

unlink /etc/nginx/sites-enabled/default

2. Geben Sie das Verzeichnis /etc/nginx/sites-available ein und erstellen Sie eine Reverse-Proxy-Konfigurationsdatei.

cd /etc/nginx/sites-available
sudo vim example.conf

Fügen Sie die folgende Nginx-Konfiguration ein.

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

        location / {
                try_files $uri $uri/ /index.php?$query_string;
        }
}

server {
        listen 80;
        server_name blog.example.com;

        location / {
                proxy_pass http://127.0.1.10:80;
        }
}

Wie Sie sehen, könnten Sie example.com weiterhin ausführen auf derselben Nginx-Instanz, aber Nginx leitet alle eingehenden Verbindungen für blog.example.com um auf Port 80 zum 127.0.1.10 Server, der auf Port 80 lauscht .

3. Speichern Sie die Datei und aktivieren Sie sie dann, indem Sie einen Symlink erstellen:

sudo ln -s /etc/nginx/sites-available/example.conf /etc/nginx/sites-enabled/

4. Testen Sie Nginx auf Konfigurationsfehler:

sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

5. Wenn keine Fehler vorliegen, starten Sie Nginx neu, damit die Änderungen wirksam werden:

sudo systemctl restart nginx

Starten Sie einen Webbrowser und gehen Sie zu Ihrer WordPress-Blog-URL. Sie werden über Nginx an 127.0.1.10 weitergeleitet , Hosting Ihres WordPress-Blogs.

Herzlichen Glückwunsch, Sie haben Nginx erfolgreich als Reverse-Proxy eingerichtet. Jetzt können Sie Datenverkehr, der zum Zielserver gehen soll, zum Reverse-Proxy-Server leiten, der am richtigen Ziel landet.

Weitere Informationen zu allen Reverse-Proxy-Anweisungen finden Sie im detaillierten Verzeichnis der Anweisungen von Nginx.

Schlussfolgerung

Jetzt wissen Sie, wie Sie mit Nginx einen Reverse-Proxy einrichten. Wie Sie sehen können, ist die Nginx-Reverse-Proxy-Konfiguration ein einfacher Prozess. Aber natürlich gibt es viele Möglichkeiten, es zu installieren und zu konfigurieren, die ganz von Ihren Anforderungen abhängen.


Linux
  1. So richten Sie einen Nginx-Reverse-Proxy ein

  2. So installieren Sie Odoo 11 auf CentOS 7 mit Nginx als Reverse Proxy

  3. So installieren Sie Flectra unter CentOS 8 mit Nginx als Reverse Proxy

  4. So installieren Sie Odoo 14 auf CentOS 8 mit Nginx als Reverse Proxy

  5. So installieren Sie Flectra auf Ubuntu 20.04 mit Nginx als Reverse Proxy

So installieren Sie GlassFish mit Nginx als Reverse Proxy unter Debian 10

So installieren Sie WildFly mit Nginx als Reverse Proxy unter Debian 10

So richten Sie Nginx als Reverse Proxy für Apache unter Debian 11 ein

So richten Sie Nginx Reverse Proxy ein

So richten Sie Nginx als Reverse Proxy für Apache auf Ubuntu 18.04 VPS ein

So richten Sie Tomcat mit Nginx als Reverse Proxy unter Ubuntu 18.04 ein