Was ist Reverse-Proxy
Kurz gesagt, ein Reverse-Proxy-Server fungiert als Vermittlungsdienst zwischen einem Client, der eine Ressource wie eine HTTP-Seite anfordert, und einem oder mehreren Servern. Die Verwendung von Reverse-Proxy ermöglicht mehrere Vorteile wie verbesserte Leistung, Lastausgleich, transparente Serverwartung von Servern hinter dem Reverse-Proxy-Server, verbesserte Sicherheit und mehr.
Basisszenario
In diesem Abschnitt richten wir einen einfachen Reverse-Proxy mit dem Nginx-Webserver unter Debian Linux ein. Wir werden zwei separate Server betreiben server1
und server2
. Auf Server1 wird Debian Linux mit Nginx-Reverse-Proxy und einer IP-Adresse 10.1.1.251
ausgeführt . Server2 führt die grundlegende Website mit dem Apache2-Webserver auf der IP-Adresse 10.1.1.252
aus . Wir gehen davon aus, dass Server2 betriebsbereit ist, um einen Inhalt auf Port 80 bereitzustellen:
$ lynx -dump http://10.1.1.252 Hello this is apache2 sitting on host 10.1.1.252
Infolgedessen wird unser Hauptaugenmerk auf Server1 und die Konfiguration des Nginx-Reverse-Proxys gerichtet, um als Vermittler zwischen Client und Server2 zu fungieren.
Minimale Reverse-Proxy-Konfiguration
Dieser Abschnitt zeigt eine minimalistische Reverse-Proxy-Konfiguration, die später an Ihre Umgebung angepasst werden kann. Beginnen wir mit nginx
Installation:
# apt-get install nginx
Als nächstes deaktivieren wir einen standardmäßigen virtuellen Host:
# unlink /etc/nginx/sites-enabled/default
Erstellen Sie als Nächstes eine neue Datei in /etc/nginx/sites-available
Verzeichnis für Ihre Reverse-Proxy-Konfiguration, zB reverse-proxy
mit folgendem Inhalt:
server { listen 80; location / { proxy_pass http://10.1.1.252; } }
Die obige Reverse-Proxy-Konfiguration ist absolut minimalistisch und selbsterklärend. Das Hauptmerkmal ist der proxy_pass
Direktive, die nginx
anweist zum Proxy für alle Anfragen, die auf Socket 10.1.1.251:80
kommunizieren an Remote-Socket 10.1.1.252:80
.Stellen Sie sicher, dass Ihr nginx
Konfiguration enthält keine Fehler und starten Sie nginx
neu .
# nginx -t nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful # service nginx restart
Zu diesem Zeitpunkt sollten Sie in der Lage sein, Ihren neuen Reverse-Proxy unter der IP-Adresse 10.1.1.251
abzufragen und einen Inhalt von apache2
erreichen läuft auf IP-Adresse 10.1.1.251
:
$ lynx -dump http://10.1.1.251 Hello this is apache2 sitting on host 10.1.1.252
Sobald die obige grundlegende Reverse-Proxy-Konfiguration funktioniert, nginx
enthält eine Reihe zusätzlicher Anweisungen zur Verbesserung Ihrer Konfiguration.