Ein Reverse-Proxy kann verwendet werden, um eine WordPress-Seite aus einem Subverzeichnis zu laden, während eine vollständig separate Seite in der Stammdomain geladen wird.

Ein Reverse-Proxy besteht aus einem Satz von Regeln, die einem Webserver hinzugefügt werden, der den Server anweist, Anforderungen für ein bestimmtes Subverzeichnis an einen separaten Server zu senden.

Betrachten wir ein Beispiel, um besser zu verstehen, wofür ein Reverse-Proxy verwendet werden kann. Stell dir vor, du hast eine Non-WordPress-Website, die auf example.com geladen wird, und du möchtest WordPress zur Unterstützung eines Blogs verwenden. Du möchtest, dass der Blog unter example.com/blog geladen wird, und du möchtest deinen Blog mit einem Managed WordPress-Hoster wie Kinsta hosten.

Um dies zu ermöglichen, müssen Reverse-Proxy-Regeln auf dem Webserver, der example.com hostet, konfiguriert werden, wobei der Webserver angewiesen wird, alle Anforderungen für das / blog-Subverzeichnis an einen anderen Webserver zu senden, der die WordPress-powered / Blog-Website hostet.

Reverse Proxy Add-On

Kinsta erlaubt und unterstützt die Verwendung von umgekehrten Proxys, um WordPress aus einem Subverzeichnis zu laden oder ein Subverzeichnis deiner Seite auf einen externen Server zu verweisen. Reverse-Proxys sind jedoch häufig schwierig zu konfigurieren und zu unterstützen, und Websites, die Reverse-Proxys verwenden, benötigen normalerweise erheblich mehr Unterstützung als Standard-WordPress-Installationen.

Aus diesem Grund wird für jeden Reverse-Proxy, den Kinsta bei der Einrichtung unterstützt, ein monatliches Add-on-Abonnement von 50 US-Dollar beantragt.

Bei der ersten Einrichtung eines Reverse-Proxys ist außerdem ein vollständiger Arbeitstag zulässig. In einigen Fällen kann zusätzliche Zeit und Zusammenarbeit mit dem Kinsta-Support-Team erforderlich sein, damit der Reverse-Proxy in nicht standardmäßigen Anwendungsfällen ordnungsgemäß funktioniert.

Reverse-Proxy-Anwendungsfälle

Hier bei Kinsta gibt es drei mögliche Anwendungsfälle für Reverse-Proxies. Um diese Anwendungsfälle zu verstehen, müssen wir zuerst zwei Begriffe definieren: Hauptseite und Proxyseite.

  • Die Hauptseite ist die Seite, die in der Stammdomain geladen wird.
  • Die Proxy-Seite ist die Seite, die über einen Reverse-Proxy aus einem Subverzeichnis geladen wird.

Zurück zu unserem obigen Beispiel wäre example.com die Hauptseite, während example.com/blog die Proxy-Seite wäre.

Im Hinblick auf diese Definitionen sind hier die drei möglichen Anwendungsfälle für Reserve-Proxies bei Kinsta:

  • Haupt- und Proxy-Seiten, die beide von Kinsta gehostet werden: Die Hauptseite example.com und die Proxy-Seite example.com/blog werden beide bei Kinsta gehostet. Dies würde eine WordPress-Installation ermöglichen, um example.com zu betreiben, während eine vollständig separate WordPress-Installation unter example.com/blog verwendet wurde.
  • Proxy-Seite von Kinsta gehostet: Die Hauptseite example.com wird nicht von Kinsta gehostet, während die Proxy-Seite beispiel.com/blog von Kinsta gehostet wird. Auf diese Weise könnte eine bei Kinsta gehostete WordPress-Installation unter example.com/blog verwendet werden, während die Hauptseite an anderer Stelle gehostet wurde.
  • Hauptseite von Kinsta gehostet: Die Hauptseite example.com wird von Kinsta gehostet, und die Proxy-Seite beispiel.com/blog wird nicht von Kinsta gehostet. Dies würde die Verwendung einer bei Kinsta gehosteten WordPress-Installation auf example.com ermöglichen, während das Blog-Subverzeichnis an anderer Stelle gehostet wurde.

Lass uns die Auswirkungen jeder Option überprüfen, insbesondere werden wir die Grenzen der Kinsta-Unterstützung für jedes Szenario abdecken.

Reverse-Proxy-Server Beispiel

Reverse-Proxy-Server Beispiel

Haupt- und Proxy-Seiten, die von Kinsta gehostet werden

Wenn beide Seiten bei Kinsta gehostet werden, kann das Supportteam von Kinsta die erforderlichen Reverse Proxy-Regeln auf der Hauptseite einrichten und die Proxy-Seite so konfigurieren, dass sie über den Reverse Proxy geladen wird. Bitte beachte, dass sich sowohl die Hauptseite als auch die Proxy-Seite im selben Rechenzentrum befinden müssen. Außerdem ist eine kurze Ausfallzeit während des Setups des Reverse Proxy möglich, da Kinsta die Seiten in Position bringt.

In diesem Szenario würde die Zuständigkeit des Kunden Folgendes umfassen:

  • Migriere beide Seiten in die Umgebung von Kinsta (oder sende Migrationsanfragen, damit Kinsta die Seiten migriert).
  • Gib dem Support-Team von Kinsta eine klare Beschreibung der Domainkonfiguration.
  • Gib für jedes Reverse Proxy-Setup ungefähr einen Arbeitstag ein.

In diesem Szenario würde Kinsta die Verantwortlichkeiten umfassen:

  • Richte die erforderlichen Reverse-Proxy-Regeln auf der Hauptseite ein.
  • Konfiguriere die Proxy-Seite so, dass sie über den Reverse-Proxy geladen wird.

Nur die Proxy-Seite von Kinsta gehostet

Wichtige Notiz: Wenn nur die Proxy-Seite bei Kinsta gehostet wird, musst du uns die IP-Adressen des Proxyservers zur Verfügung stellen und den Proxyserver so konfigurieren, dass die in unserer Standard-Nginx-Reverseproxy-Regel aufgeführten Header festgelegt werden. Diese Schritte sind erforderlich, um sicherzustellen, dass unser Analysesystem ordnungsgemäß funktioniert und wir die IP-Adressen deines Proxyservers nicht auf eine schwarze Liste setzen. 

Wenn nur die Proxy-Seite von Kinsta gehostet wird, ist Kinsta nicht in der Lage, den Reverse-Proxy selbst einzurichten, da der Reverse-Proxy auf dem Server konfiguriert werden muss, der die Hauptseite hostet. In diesem Szenario beschränkt sich Kinsta darauf, die Proxy-Seite so zu konfigurieren, dass sie über einen Reverse-Proxy geladen werden kann.

In diesem Szenario würde die Zuständigkeit des Kunden Folgendes umfassen:

  • Migriere beide Seiten in die Umgebung von Kinsta (oder sende Migrationsanfragen, damit Kinsta die Seiten migriert).
  • Fügen eine Domain der Seite hinzu, die vom Reverse-Proxy verwendet wird. Der Reverse Proxy muss auf eine Domain verweisen, um auf die Proxy-Seite zugreifen zu können. In der Regel wird dazu eine Subdomain verwendet. Beispielsweise wird blog.example.com normalerweise für ein Reverse-Proxy-Loading unter example.com/blog verwendet.
  • Gib dem Support-Team von Kinsta eine klare Beschreibung der Domainkonfiguration.
  • Gib etwa einen Werktag an, bis die Proxy-Seite so konfiguriert ist, dass sie über einen Reverse-Proxy geladen wird.
  • Nachdem die Proxy-Seite konfiguriert wurde, erstelle den Reverse-Proxy auf dem Server, auf dem sich die Hauptseite befindet.

In diesem Szenario beschränkt sich Kinsta darauf, die Proxy-Seite so zu konfigurieren, dass sie über einen Reverse-Proxy geladen werden kann.

Nur die Hauptseite von Kinsta gehostet:

Wenn nur die Hauptseite bei Kinsta gehostet wird, beschränkt sich Kinsta auf die Einrichtung eines Reverse-Proxys zum Laden der Proxy-Seite (die an anderer Stelle gehostet wird). Kinsta fügt die in diesem Artikel aufgeführte Standard-Reverse-Proxy-Regel hinzu. Anpassungen dieser Regel können auf Kundenwunsch vorgenommen werden.

In diesem Szenario bleibt der Client dafür verantwortlich, die Proxy-Seite so zu konfigurieren, dass sie ordnungsgemäß über den Reverse-Proxy geladen wird, und um Anpassungen der Reverse-Proxy-Regel anzufordern, falls die Proxy-Seite nicht ordnungsgemäß geladen wird.

Einschränkungen von Proxy-Seiten

Bei der Verwendung von Reverse-Proxies bei Kinsta gibt es einige Einschränkungen.

Beachte zunächst, dass Kinsta die Verwendung von Multisite über einen Reverse-Proxy nicht unterstützt.

Außerdem kann das Wiederherstellen von Sicherungen oder das Live-Push von Staging-Seiten auf Seiten, die über einen Reverse-Proxy geladen werden, dazu führen, dass die Proxy-Seite nicht mehr ordnungsgemäß geladen wird. Wenn du mit einer Proxy-Seite arbeitest, ist es immer ratsam, solche Änderungen für Zeiten mit wenig Datenverkehr einzuplanen und mit dem Support-Team von Kinsta zu sprechen, bevor du Maßnahmen ergreifst.

Bei Kinsta, beim Umgang mit Proxy-Seiten, ist die beste Verwendung von Staging die Testumgebung. Nach dem Testen im Staging besteht der einfachste Workflow darin, diese Änderungen auf der Live-Site zu duplizieren, anstatt das Staging live voranzutreiben. Außerdem sollte das Wiederherstellen von Sicherungen von Proxy-Seiten nur im Notfall durchgeführt werden, wenn das manuelle Zurücksetzen der Änderungen nicht möglich ist.

Aufgrund dieser Einschränkungen empfehlen wir die Verwendung von Proxy-Seiten nicht, wenn du die Wiederherstellung von Backups oder den Live-Einsatz von Staging-Seiten im Rahmen einer Routine erwartest.

Eine Alternative zu Proxy-Seiten, die eine Überlegung wert sind, ist die Verwendung eines WordPress-Subverzeichnisses Multisite-Installation.

Hauptseite Reverse Proxy Konfiguration

Beim Laden von Subverzeichnissen über Reversed Proxys gibt es zwei Hauptauswirkungen für die Hauptseite.

  • Reverse-Proxy-Regeln müssen für jedes Proxy-Subverzeichnis hinzugefügt werden.
  • Die Hauptseite kann die Proxy-Subverzeichnisse zu keinem Zweck verwenden, da alle Anfragen für dieses Subverzeichnis an die Proxy-Seite weitergeleitet werden.

Dies ist die Standard-Nginx-Reverse-Proxy-Regel, mit der Kinsta eine Seite über einen Reverse-Proxy lädt:

location ^~ /subdirectory/ {
  proxy_pass http://subdirectory.domain.com;
  proxy_set_header X-Real-IP $remote_addr;
  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  proxy_set_header X-Forwarded-Proto $scheme;
}

Das tatsächliche Subverzeichnis würde den Platzhalter /subdirectory/ ersetzen. Darüber hinaus wird http://subdirectory.domain.com geändert, um mit der Domain übereinzustimmen, die zum Verweisen des Reverse-Proxys auf die Proxy-Seite verwendet wird.

Proxied Site Configuration

Um eine Seite über einen Reverse Proxy zu laden, müssen folgende Änderungen vorgenommen werden:

  • Zum Verzeichnispfad auf dem Server muss ein Subverzeichnis hinzugefügt werden, das mit dem zum Laden der Seite verwendeten Subverzeichnis und allen Websitedateien übereinstimmt, die in dieses Subverzeichnis verschoben wurden.
  • Aktualisierungen der Webserverkonfiguration müssen vorgenommen werden, um das Website-Stammverzeichnis mit dem neuen Subverzeichnis zu aktualisieren. Außerdem muss der Serverkonfiguration ein Überschreiben hinzugefügt werden, um das Subverzeichnis für jede eingehende Anforderung aus dem Anforderungs-URI zu entfernen.
  • Alle URLs in der Proxy-Site-Database müssen aktualisiert werden, damit sie mit den URLs der Live-Site übereinstimmen (z. B. example.com/blog).
  • Die wp-config.php Datei der Seite muss mit einer Definition von $_SERVER['HTTP_HOST'] aktualisiert werden, die auf die URL der Hauptseite verweist (in dem betrachteten Beispiel example.com).
  • Wenn die Seite gezwungen ist, über https zu laden, müssen zusätzliche Definitionen zur wp-config.php hinzugefügt werden, um Umleitungsschleifen zu vermeiden.

Beachte, dass aufgrund der erforderlichen Umschreibungsregeln vermieden werden sollte, dass eine Proxy-Seite URLs erstellt, die dasselbe Subverzeichnis duplizieren, in dem die Proxy-Seite geladen wird. Beispielsweise kann es bei einer Proxy-Seite unter example.com/blog vermieden werden, eine Seite oder ein Verzeichnis unter example.com/blog/blog zu erstellen.

Zusammenfassung

Die Verwendung von Reverse Proxies bei Kinsta ist möglich, und wir haben eine Reihe von Kunden, die sich für die Nutzung unserer Infrastruktur auf diese Weise entschieden haben. Es ist jedoch wichtig, die zusätzliche technische Komplexität zu verstehen, die durch dieses Arrangement eingeführt wird, und die Auswirkungen auf die Verwendung der Kinsta-Staging- und Backup-Systeme.

Wenn du der Meinung bist, dass ein Reverse-Proxy die beste Lösung für dein derzeitiges Bedürfnis ist, wende dich bitte an den Support von Kinsta via Chat in MyKinsta, um den Prozess zu starten!

11
Mal geteilt