Transformationen für Listener-Regeln - Elastic Load Balancing

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Transformationen für Listener-Regeln

Eine Regeltransformation schreibt eingehende Anfragen neu, bevor sie an Ziele weitergeleitet werden. Durch das Umschreiben einer Anfrage wird die Routing-Entscheidung, die bei der Auswertung der Regelbedingungen getroffen wurde, nicht geändert. Dies ist nützlich, wenn Clients eine andere URL oder einen anderen Host-Header senden als von den Zielen erwartet.

Durch die Verwendung von Regeltransformationen wird die Verantwortung für die Änderung von Pfaden, Abfragezeichenfolgen und Host-Headern auf den Load Balancer übertragen. Dadurch müssen Sie Ihrem Anwendungscode keine benutzerdefinierte Änderungslogik hinzufügen oder sich bei der Durchführung der Änderungen auf einen Proxy eines Drittanbieters verlassen.

Application Load Balancers unterstützen die folgenden Transformationen für Listener-Regeln.

Transformationen
host-header-rewrite

Schreibt den Host-Header in der Anfrage neu. Die Transformation verwendet einen regulären Ausdruck, um einem Muster im Host-Header zu entsprechen, und ersetzt es dann durch eine Ersatzzeichenfolge.

url-rewrite

Schreibt die Anforderungs-URL neu. Die Transformation verwendet einen regulären Ausdruck, um einem Muster in der Anforderungs-URL zu entsprechen, und ersetzt es dann durch eine Ersatzzeichenfolge.

Grundlagen der Transformation
  • Sie können pro Regel eine Host-Header-Rewrite-Transformation und eine URL-Rewrite-Transformation hinzufügen.

  • Sie können einer Standardregel keine Transformation hinzufügen.

  • Wenn es keine Musterübereinstimmung gibt, wird die ursprüngliche Anfrage an das Ziel gesendet.

  • Wenn es eine Musterübereinstimmung gibt, die Transformation jedoch fehlschlägt, geben wir einen HTTP 500-Fehler zurück.

Transformationen beim Umschreiben des Host-Headers

Sie können den im Host-Header angegebenen Domainnamen ändern.

Beispiel für eine Host-Header-Transformation

Sie können eine Transformation angeben, wenn Sie eine Regel erstellen oder ändern. Weitere Informationen finden Sie bei den Befehlen create-rule und modify-rule. Im Folgenden finden Sie ein Beispiel für eine Host-Header-Transformation. Es wandelt den Host-Header in einen internen Endpunkt um.

[ { "Type": "host-header-rewrite", "HostHeaderRewriteConfig": { "Rewrites": [ { "Regex": "^mywebsite-(.+).com$", "Replace": "internal.dev.$1.myweb.com" } ] } } ]

Diese Transformation schreibt beispielsweise den Host-Header https://mywebsite-example.com/project-a um als. https://internal.dev.example.myweb.com/project-a

Das Umschreiben von URLs transformiert

Sie können den Pfad oder die Abfragezeichenfolge der URL ändern. Indem Sie die URL auf Load Balancer-Ebene neu schreiben, URLs kann Ihr Frontend für Benutzer und Suchmaschinen konsistent bleiben, auch wenn sich Ihre Back-End-Dienste ändern. Sie können auch komplexe URL-Abfragezeichenfolgen vereinfachen, um Kunden die Eingabe zu erleichtern.

Beachten Sie, dass Sie das Protokoll oder den Port der URL nicht ändern können, sondern nur den Pfad und die Abfragezeichenfolge.

Beispiel für eine Transformation zum Umschreiben einer URL

Sie können eine Transformation angeben, wenn Sie eine Regel erstellen oder ändern. Weitere Informationen finden Sie bei den Befehlen create-rule und modify-rule. Im Folgenden finden Sie ein Beispiel für eine URL-Rewrite-Transformation. Sie wandelt die Verzeichnisstruktur in eine Abfragezeichenfolge um.

[ { "Type": "url-rewrite", "UrlRewriteConfig": { "Rewrites": [ { "Regex": "^/dp/([A-Za-z0-9]+)/?$", "Replace": "/product.php?id=$1" } ] } } ]

Diese Transformation schreibt beispielsweise die Anforderungs-URL https://www.example.com/dp/B09G3HRMW um als. https://www.example.com/product.php?id=B09G3HRMW

Wie sich URL-Umschreibungen von URL-Weiterleitungen unterscheiden

Merkmal URL-Weiterleitungen URL-Umschreibungen
URL-Anzeige Änderungen in der Adressleiste des Browsers Keine Änderung in der Adressleiste des Browsers
Statuscodes Verwendet 301 (permanent) oder 302 (temporär) Keine Änderung des Statuscodes
Verarbeitung Browserseitig Serverseitig
Allgemeine Verwendungen Domainwechsel, Konsolidierung der Website, Behebung defekter Links Bereinigen Sie URLs die Suchmaschinenoptimierung, verbergen Sie komplexe Strukturen und stellen Sie eine veraltete URL-Zuordnung bereit