Direkt zum Inhalt

Wie kann ich einen Application Load Balancer verwenden, um eine Domäne auf eine andere umzuleiten?

Lesedauer: 4 Minute
0

Ich möchte einen Application Load Balancer verwenden, um den Datenverkehr von einem Domainnamen auf einen anderen umzuleiten.

Kurzbeschreibung

Um einen Application Load Balancer zum Umleiten einer Domain zu einer anderen zu verwenden, erstelle eine Listener-Regel in der Amazon Elastic Compute Cloud (Amazon EC2)-Konsole. Application Load Balancer unterstützen die Umleitung von Domain zu Domain und HTTP zu HTTPS.

Es hat sich bewährt, für diese Konfiguration einen Application Load Balancer anstelle von Amazon Simple Storage Service (Amazon S3) zu verwenden.

Lösung

Hinweis: Wenn du beim Ausführen von AWS Command Line Interface (AWS CLI)-Befehlen Fehlermeldungen erhältst, findest du weitere Informationen dazu unter Problembehandlung bei der AWS CLI. Stelle außerdem sicher, dass du die neueste Version der AWS CLI verwendest.

Gehe wie folgt vor, um eine Listener-Regel in der Amazon EC2-Konsole zu erstellen:

  1. Öffne die Amazon-EC2-Konsole.
  2. Wähle im Navigationsbereich unter Load Balancing die Option Load Balancer.
  3. Wählen Sie Ihren Load Balancer und dann Listeners.
  4. Wählen Sie Regeln anzeigen/bearbeiten für den Load-Balancer-Listener, den Sie verwenden möchten.
  5. Klicken Sie auf das Symbol für Regel hinzufügen (das Pluszeichen).
  6. Wählen Sie Regel einfügen.
  7. Wählen Sie Bedingung hinzufügen.
  8. Wählen Sie im Abschnitt Bedingungen (IF) die Option Bedingung hinzufügen aus. Führen Sie danach die folgenden Schritte aus:
    Wählen Sie Host-Header aus und geben Sie dann Ihren Hostnamen ein (z. B. example.com).
    Um zu speichern, wählen Sie das Häkchensymbol aus.
  9. Wählen Sie im Abschnitt Aktionen (DANN) die Option Aktion hinzufügen aus. Führen Sie danach die folgenden Schritte aus:
    Wähle Umleiten zu.
    Gib das Protokoll und den Port an.
    Ändere den ursprünglichen Host, Pfad, Abfrage in Benutzerdefinierter Host, Pfad, Abfrage.
    Gib für Host example2.com ein.
    Behalte für Pfad und Abfrage die Standardwerte bei (es sei denn, der Anwendungsfall erfordert, dass du sie änderst).
    Stelle die Antwort auf HTTP 301 „Dauerhaft verschoben“ oder HTTP 302 „Gefunden“ ein.
    Um zu speichern, wählen Sie das Häkchensymbol aus.
    Der Abschnitt „DANN“ sieht jetzt wie folgt aus:
    Weiterleiten zu https://example2.com:443/#{path}? # {query}
    Status-Code: HTTP_301
  10. Wählen Sie Speichern aus.

**Hinweis:**Wenn beide Domänen auf denselben Application Load Balancer verweisen, führen Sie eine der folgenden Aufgaben aus:

  • Haben Sie separate Zertifikate für beide Domänen.
  • Verwenden Sie ein SAN-Zertifikat (Subject Alternative Name), um die Domänen zu validieren.

Gehe wie folgt vor, um zu bestätigen, dass die Weiterleitung funktioniert:

  1. Verwende in der AWS-CLI die folgende Curl-Funktion:

    curl
        -Iv https://example.com -L
    * Rebuilt URL to: https://example.com/
    . . .
    * Connected to example.com (1.2.3.4) port 443 (#0)
    <SSL handshake>
     > Host: example.com.   ------> Host name is example.com
     > User-Agent: curl/7.61.1
     >
         Accept: */*>
     * Connection state changed (MAX_CONCURRENT_STREAMS == 128)!
     < HTTP/2 301       ------> ALB does redirection
     < server: awselb/2.0
     < date: Fri, 06 Mar 2020 09:18:33 GMT
     < content-type: text/html
     < content-length: 150
    
     < location: https://example2.com:443/.   ----> redirected to "example2.com"
     <
     * Issue another request to this URL: 'https://example2.com:443/'. ------> Curl initiates another request that is to example2.com
     *   Trying 34.195.219.169...
    
     * TCP_NODELAY set
     <SSL handshake>
     > Host: example2.com.   ------> Host name has changed to example2.com
     > User-Agent: curl/7.61.1
     > Accept: */*
     >
     * Connection state changed (MAX_CONCURRENT_STREAMS == 128)!
     <
         HTTP/2 200 ----> We got a response
  2. Gib im Internetbrowser example.com ein und bestätige, dass er zu example2.com weitergeleitet wird.

Hinweis: Application Load Balancer unterstützt nur 301- und 302-Weiterleitungen. Diese Weiterleitungen ermöglichen es dem Client, die HTTP-Methode in nachfolgenden Anfragen von POST auf GET zu ändern. Wenn Sie eine 307-Weiterleitung benötigen, muss die Weiterleitung über die Zielanwendung erfolgen.

Ähnliche Informationen

Wie leite ich eine Apex-Domäne mithilfe von Amazon S3 und Amazon Route 53 auf ihre Subdomäne oder eine andere Domäne um?

Application Load Balancers unterstützen jetzt mehrere TLS-Zertifikate mit intelligenter Auswahl über SNI

AWS OFFICIALAktualisiert vor 6 Monaten