Übersicht #
Dieser Artikel erklärt, wie man eine einfache F5 BIG-IP iRule, die für HTTP-Weiterleitungen verwendet wird, migriert nach RELIANOID unter Verwendung der nativen HTTP/S-Farmdienst-Umleitungsfunktionen.
Die ursprüngliche iRule leitet Benutzer um, die auf die Root-URI zugreifen (/) zum /myapp Pfad auf demselben Host.
Original F5 iRule #
Wenn eine HTTP-Anfrage gestellt wird, wird geprüft, ob die URI "/" ist. Falls ja, wird eine Weiterleitung auf "https://[HTTP::host]/myapp" eingerichtet.
Diese Logik wird ausgeführt:
- URI-Prüfung
- Erhaltung des Wirts
- HTTPS-Umleitung
- Pfadanhängeoperation
RELIANOID Migrationsansatz #
In RELIANOIDDiese Funktionalität kann nativ implementiert werden durch:
- HTTP/S-Farmdienste
- Wirtsübereinstimmungsmuster
- Umleitungsregeln
- Anhängen oder Absolute Zieloptionen
Dadurch entfällt die Notwendigkeit von TCL/iRule-Skripten.
Empfohlen RELIANOID Konfiguration #
Konfigurationsziel #
Wenn ein Client auf Folgendes zugreift:
https://example.com/
Der Load Balancer leitet den Client um zu:
https://example.com/myapp
Schritt 1: Erstellen oder Bearbeiten des HTTP/S-Farmdienstes #
Navigieren Sie zu Farms > HTTP/S Farm > Dienste
Schritt 2: Konfigurieren der Übereinstimmungskriterien #
Verwenden Sie die Dienstübereinstimmungskonfiguration, um die gewünschte Anfrage zu erkennen.
Heimspiel
Konfigurieren Sie die Host Das Suchmuster muss bei Bedarf den exakten Hostnamen enthalten, ansonsten ist es für die Suche mit Platzhaltern leer. Beispiel: example.com
URI-Übereinstimmung
Konfigurieren Sie die URI-Abgleichsregel: /Dadurch wird sichergestellt, dass die Umleitung nur für Anfragen gilt, die den Stammpfad erreichen.
Schritt 3: Konfigurieren der Umleitungsaktion #
Im Abschnitt „Serviceaktion“ auswählen Redirect.
Umleitungszieloptionen #
RELIANOID bietet verschiedene Umleitungsmethoden:
- Pfad anhängen: Fügt dem bestehenden Host einen Pfad hinzu
- Absolute URLLeitet auf eine vollständige URL weiter
- Relative Weiterleitung: Weiterleitungen mittels relativer URI
Empfohlene Option für diese Migration #
Für diese iRule:
HTTP::redirect "https://[HTTP::host]/myapp"
Die empfohlene RELIANOID Konfiguration ist:
Umleitungstyp: Append
Reiseziel: /myapp
Dies erhält:
- Ursprünglicher Hostname
- HTTPS-Schema
- Vom Client angeforderte Domäne
Alternative: Absolute URL #
Alternativ können Sie Folgendes konfigurieren:
Umleitungstyp: Absolute URL
Reiseziel: https://example.com/myapp
Dies ist in folgenden Fällen nützlich:
- Weiterleitung zu einer anderen Domain
- Erzwingen kanonischer URLs
- Migration von Anwendungen
Validierung #
Nach der Konfigurationsanwendung testen Sie mit:
curl -I https://example.com/
Erwartete Antwort:
HTTP/1.1 301 Moved Permanently Location: https://example.com/myapp
Browservalidierung #
Öffnen:
https://example.com/
Erwartetes Verhalten:
Der Browser leitet automatisch weiter zu:
https://example.com/myapp
Problemlösung #
Weiterleitung wird nicht ausgelöst #
Überprüfen:
- Die Regeln für die Dienstzuordnung sind korrekt.
- URI stimmt exakt überein /
- Das Host-Übereinstimmungsmuster ist gültig
- Die Farmkonfiguration wurde angewendet
Umleitungsschleife #
Dafür sorgen:
/myappist von der Umleitungsregel ausgeschlossen- Die Backend-Anwendung führt keine zusätzlichen, widersprüchlichen Weiterleitungen durch.
HTTPS nicht erhalten #
Überprüfen:
- Die Farm ist als HTTPS konfiguriert.
- SSL-Zertifikate sind korrekt installiert
- Die Umleitungskonfiguration erhält das Schema bei.
Weiterleitung gilt für alle URLs #
Dies geschieht normalerweise, wenn die URI-Übereinstimmung zu allgemein ist.
Die korrekte Konfiguration sollte darauf abzielen / nur.
Praxisbeispiele #
- Bevorzugen Sie nach Möglichkeit native Weiterleitungsregeln gegenüber Skripten.
- Verwenden Sie den Anfügemodus für Weiterleitungen von Anwendungen auf demselben Host.
- Verwenden Sie absolute Weiterleitungen nur beim Wechsel von Domains.
- Überprüfen Sie das Weiterleitungsverhalten sowohl mit Browser- als auch mit CLI-Tools.
Zusammenfassung #
F5 iRules, die HTTP-Weiterleitungen durchführen, können migriert werden in RELIANOID durch native HTTP/S-Dienstumleitungsregeln ohne Skripting.
Dieser Ansatz vereinfacht die Konfiguration und verbessert die Wartbarkeit, während das gleiche Umleitungsverhalten erhalten bleibt.