So richten Sie einen Reverse-Proxy für WordPress ein

Veröffentlicht: 2023-01-16

Als WordPress-Administrator befinden Sie sich möglicherweise in einer Situation, in der Sie einen Reverse-Proxy-Server einrichten müssen. Glücklicherweise ist die Einrichtung eines Reverse-Proxy-Servers relativ einfach, und es gibt mehrere verschiedene Softwarepakete, die Sie verwenden können. Dieser Artikel bietet einen kurzen Überblick über die Einrichtung eines Reverse-Proxy-Servers für Ihre WordPress-Site mit NGINX.

Was sind Reverse-Proxy-Server und warum werden sie für WordPress verwendet?

Ein Reverse-Proxy-Server ruft im Auftrag eines Clients Ressourcen von einem oder mehreren Servern ab. Diese Ressourcen werden dann an den Client geliefert, ohne dass erkennbar ist, dass sie vom Proxy-Server stammen.

Reverse Proxys sind nützlich, da sie die Existenz und Eigenschaften des ursprünglichen Servers verbergen können. Beispielsweise kann ein Reverse-Proxy eine zusätzliche Ebene an Sicherheit, Leistung und Zuverlässigkeit für Webanwendungen bieten, indem er sie vor böswilligen Anfragen oder großen Datenverkehrsmengen schützt.

Wenn Sie mehr erfahren möchten, gibt es viele Online-Ressourcen, die Ihnen dabei helfen, mehr über Reverse-Proxy-Server zu erfahren. Es gibt mehrere häufige Gründe, warum die Einrichtung eines Reverse-Proxy-Servers erforderlich sein könnte:

  • Verbesserte Website-Performance mit Inhalts-Caching

Ein häufiger Anwendungsfall für einen Reverse-Proxy ist das Zwischenspeichern häufig angeforderter WordPress-Inhalte. Wenn beispielsweise eine Gruppe von Webservern eine Website bedient, kann ein Reverse-Proxy den statischen Inhalt der Website (wie HTML-Seiten, Bilder und CSS-Dateien) auf einem einzelnen Server zwischenspeichern. Dies kann die Leistung der WordPress-Website verbessern, da der Inhalt nicht jedes Mal von den Webservern abgerufen werden muss, wenn ein Benutzer eine Seite anfordert.

  • Entlastung von CPU-intensiven Aufgaben wie der Größenänderung von Bildern

Ein Reverse-Proxy-Server kann CPU-intensive Aufgaben wie die Größenänderung von Bildern vom WordPress-Server entlasten, indem er Anfragen für diese Aufgaben an einen Server weiterleitet, der dafür besser ausgestattet ist. Dies kann dazu beitragen, die Leistung der WordPress-Site zu verbessern, indem Ressourcen auf dem WordPress-Server für andere Aufgaben freigegeben werden.

  • Verbesserte Sicherheit durch Filtern von Anfragen und Blockieren von schädlichem Datenverkehr

Ein Reverse-Proxy-Server kann die WordPress-Sicherheit verbessern, indem er Anfragen filtert und schädlichen Datenverkehr blockiert. Durch das Filtern von Anfragen kann der Reverse-Proxy-Server den Zugriff auf bestimmte IP-Adressen oder Regionen blockieren, die bekanntermaßen mit böswilligen Aktivitäten in Verbindung gebracht werden. Durch das Blockieren von schädlichem Datenverkehr kann der Reverse-Proxy-Server dazu beitragen, die Auswirkungen von DDoS-Angriffen und anderen Angriffen auf WordPress-Sites abzuschwächen.

  • WordPress von einer anderen Domain oder Subdomain zugänglich machen

Wie oben erwähnt, ruft der Reverse-Proxy-Server im Auftrag eines Clients Ressourcen von einem oder mehreren Servern ab. Bei diesen Ressourcen kann es sich um beliebige Dateitypen handeln, am häufigsten handelt es sich jedoch um Webseiten. Der Reverse-Proxy-Server stellt dem Client dann diese Ressourcen zur Verfügung und sie erscheinen, als ob sie vom Server selbst stammen würden. Dies geschieht, indem der Reverse-Proxy-Server so konfiguriert wird, dass er Anforderungen für WordPress-Inhalte an den WordPress-Server weiterleitet, während dem Client dennoch die Illusion vermittelt wird, dass er direkt vom lokalen Proxy-Server auf die Inhalte zugreift.

Die beliebtesten Reverse-Proxy-Server

Laut W3Techs verwenden rund 83 % der Websites keinen Reverse-Proxy-Dienst. Die verbleibenden 17 %, die dies tun, sind hauptsächlich CDNs, da Reverse-Proxys im Allgemeinen ihre Anwesenheit aus Sicherheitsgründen verbergen, was es für Website-Überwachungsdienste wie W3Techs schwierig macht, festzustellen, welche am häufigsten verwendet werden. Hier sind die drei am häufigsten verwendeten Reverse-Proxy-Lösungen:

  • NGINX

NGINX ist ein Webserver, der mehrere Vorteile bietet, wie verbesserte Leistung, Sicherheit, Zuverlässigkeit und Skalierbarkeit. Sie können es kostenlos erhalten oder die kommerzielle Edition NGINX Plus für Unternehmenswebsites mit API-basierten Einrichtungsmöglichkeiten verwenden. Nicht wenige große Unternehmen nutzen NGINX – unter anderem Cloudflare, Netflix, MaxCDN. Die Konfiguration von NGINX als Reverse-Proxy ist einfach und Sie können es an Ihre Bedürfnisse anpassen.

  • Lack

Varnish ist eine Art Open-Source-Software, die die Leistung von Websites mit hohem Datenverkehr verbessern kann. Es fungiert als Reverse-Proxy, Load Balancer, Webanwendungs-Firewall und Edge-Authentifizierungsserver und unterstützt Edge Side Includes (ESI) für schnelleres Laden von Seiten. Sie können es als Frontend für NGINX- oder Apache-Webserver verwenden oder als Reverse-Proxy für WordPress einrichten.

  • Apache Traffic-Server

Apache Traffic Server, eine Open-Source-Option, die für ihre Leistung und Kapazität bekannt ist, wurde zuerst von Yahoo! als kommerzielle Dienstleistung, bevor sie es an die Apache Foundation verschenkten. Es wird derzeit von vielen Inhaltsnetzwerken und CDNs verwendet, darunter Akami, Apple, Comcast, LinkedIn und Yahoo, um ihre Systeme zu verbessern. Darüber hinaus kann Apache HTTP Server (Apache httpd) verwendet werden, um einen Reverse-Proxy auf Ihrem Webserver einzurichten, der es ihm ermöglicht, Benutzern sowohl statische als auch dynamische Inhalte bereitzustellen, während er weiterhin als normaler Webserver fungiert.

  • HAproxy

HAProxy ist ein kostenloser Open-Source-Reverse-Proxy und Load-Balancer, der für die Arbeit mit vielen vorhandenen Webserverarchitekturen wie Linux-Systemen und Cloud-basierten Plattformen entwickelt wurde. Es verwendet ein ereignisgesteuertes I/O-Modell und kann Anfragen auf mehrere Worker-Prozesse verteilen, ähnlich wie NGINX. HAProxy ist bekannt für seine Fähigkeit, große Verkehrsmengen auch während Spitzenlasten zu bewältigen. Es wird von einigen der größten Websites der Welt wie Airbnb, Reddit und Instagram verwendet.

Reverse-Proxy-Server-Anwendungsfälle für WordPress-Sites

Obwohl Sie auch andere Reverse-Proxys verwenden können, ist NGINX die beliebteste Wahl. Hier sind die drei Hauptanwendungsfälle für die Einrichtung eines Reverse-Proxys für WordPress-Sites:

  • Haupt- und Proxy-Website auf einem einzigen Server

Wenn sowohl die Haupt- als auch die Proxy-Site auf demselben Webserver gehostet werden, können Sie einen Reverse-Proxy einrichten, sodass die Proxy-Site von der Haupt-Site geladen wird. Sie können dies tun, indem Sie alle relevanten Reverse-Proxy-Regeln auf der Hauptseite konfigurieren und die Proxy-Site so einrichten, dass sie über den Proxy geladen wird. Darüber hinaus müssen bei Verwendung eines SSL-Zertifikats bestimmte Regeln in der wp-config.php vorhanden sein, um Umleitungsschleifen zu verhindern. Beachten Sie, dass es unmöglich ist, eine URL mit demselben Unterverzeichnis zu erstellen, das zum Laden der Site verwendet wird.

  • Hosten Sie nur die Proxy-Site auf Ihrem Server

Um einen Reverse-Proxy zu erstellen, müssen Sie sich an den Serveradministrator der Hauptwebsite wenden und die Regeln auf zwei Servern konfigurieren. Außerdem sollte ein Domänenname hinzugefügt werden, der auf den Reverse-Proxy verweist. Dies erfolgt normalerweise über eine Subdomain (z. B. blog.ihre_domain.com), die mit der Proxy-Site (z. B. ihre_domain.com/blog) verknüpft ist. Beachten Sie, dass Sie die IP-Adresse vom Server benötigen, um den Einrichtungsvorgang abzuschließen.

  • Hauptseite, die auf Ihrem Server gehostet wird

Wenn Sie nur auf die Hauptwebsite und ihren Hosting-Server zugreifen können, sollten Sie einen Reverse-Proxy einrichten und seine Einstellungen so anpassen, dass die Seite von einem externen Host abgerufen wird. Es liegt in der Verantwortung des Administrators des sekundären Servers, die Proxy-Site zu installieren und zu konfigurieren, auf die über den Reverse-Proxy zugegriffen werden soll.

Schritte zum Einrichten eines Reverse-Proxy für WordPress

Das Einrichten eines Reverse-Proxys für WordPress ist eine großartige Möglichkeit, die Leistung Ihrer Website zu verbessern. Es kann auch dazu beitragen, Ihren Webserver vor böswilligen Anfragen zu schützen und die Benutzererfahrung zu verbessern. Im Folgenden sind die Schritte aufgeführt, die Sie ausführen müssen, um einen Reverse-Proxy für WordPress einzurichten.

  1. Installieren Sie einen Reverse-Proxy-Server

Der erste Schritt besteht darin, einen Reverse-Proxy-Server zu installieren. Wir empfehlen die Verwendung des NGINX-Webservers, der kostenlos und Open Source ist. Andere beliebte Webserver wie Apache können ebenfalls verwendet werden, aber wir gehen davon aus, dass Sie für dieses Tutorial NGINX verwenden. Angenommen, Sie möchten einen NGINX-Reverse-Proxy (192.xx10) zusammen mit einem Apache-Webserver (192.xx20) verwenden, der bereits betriebsbereit ist.

Bei der Installation von NGINX auf einem Ubuntu-Server muss nur ein einziger Befehl ausgeführt werden:

sudo apt-get update
sudo apt-get install nginx

Verwenden Sie nach der Installation von NGINX diesen Befehl, um den virtuellen Host zu deaktivieren:

sudo unlink /etc/nginx/sites-enabled/default

Jetzt ist es an der Zeit, einen Reverse-Proxy zu erstellen. Sie können dies tun, indem Sie eine Datei namens reverse-proxy.conf im Verzeichnis etc/nginx/sites-available erstellen. Navigieren Sie zunächst in das Verzeichnis:

cd etc/nginx/sites-verfügbar

Erstellen Sie die Datei über den vi-Editor:

vi reverse-proxy.conf

Fügen Sie der Datei die folgenden Zeilen hinzu:

Server {
höre 80;
Lage / {
Proxy_Pass http://192.xx20;
}
}

Wie wir sehen können, ermöglicht der Proxy-Pass, dass Anfragen, die über den Reverse-Proxy kommen, an 192.xx20:80, den Remote-Socket des Hauptservers, weitergeleitet werden. Mit anderen Worten teilen sich beide Server den Inhalt. Wenn Sie fertig sind, speichern Sie die Datei und beenden Sie den Editor. Um Informationen an andere Server weiterzuleiten, verwenden Sie das ngx_http_proxy_module im Terminal. Schließlich müssen Sie die Direktiven aktivieren, indem Sie mit diesem Befehl auf /sites-enabled/ verlinken:

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

Jetzt müssen Sie nur noch den Reverse-Proxy testen. Sie müssen einen Konfigurationstest durchführen und NGINX neu starten, um seine Leistung zu überprüfen. Verwenden Sie den folgenden Befehl, um zu überprüfen, ob NGINX funktioniert:

Dienst nginx configtest
Dienst nginx neu starten

Falls der Test fehlschlägt, bedeutet dies, dass Apache wahrscheinlich nicht richtig eingerichtet ist.

Einschränkungen des Reverse-Proxy-Servers

Ein Reverse-Proxy kann ein großes Sicherheitsrisiko darstellen, da er den gesamten Datenverkehr beobachten und ändern kann, der ihn durchläuft. Wenn HTTPS-Verkehr über den Reverse-Proxy gesendet wird, müssen die Daten entschlüsselt und erneut verschlüsselt werden, wofür die privaten Schlüssel des SSL/TLS-Zertifikats erforderlich sind. Wenn ein Hacker Zugriff auf diesen Reverse-Proxy erhält, kann er Passwörter protokollieren und bösartigen Code in Websites einfügen.

Ein Reverse-Proxy kann einen Single Point of Failure schaffen, wenn weder Sie noch Ihre Benutzer direkt auf den Hauptserver zugreifen können. Wenn beispielsweise ein Reverse-Proxy mehrere Domains bedient, führt jede Unterbrechung dazu, dass alle diese Sites unzugänglich werden. Wenn ein Reverse-Proxy eines Drittanbieters verwendet wird, vergessen Sie nicht, dass Sie ihm wichtige Details über die Website mitteilen.

Fazit

Das Einrichten eines Reverse-Proxys für WordPress kann der Sicherheit und Leistung der Website zugute kommen. Die Schritte zum Einrichten eines Reverse-Proxys für WordPress variieren je nach Server und Konfiguration. Im Allgemeinen umfassen sie die Konfiguration des Proxy-Servers, die Einrichtung des Backend-Webservers und die Einrichtung der WordPress-Site. Obwohl das Einrichten eines Reverse-Proxy-Servers vorteilhaft sein kann, hat es Einschränkungen.