ADC

So leiten Sie eine HTTP-Anfrage mithilfe des Responders an HTTPS um

In diesem Artikel wird erklärt, wie Sie die Responder-Funktion mit einem Lastausgleich für virtuelle Server-IP-Adressen konfigurieren und Clientanfragen von HTTP auf HTTPS umleiten.

Stellen Sie sich ein Szenario vor, in dem ein Benutzer versuchen könnte, auf eine sichere Website zuzugreifen, indem er eine HTTP-Anfrage sendet. Anstatt die Anfrage zu löschen, sollten Sie die Anfrage an eine sichere Website weiterleiten. Sie können die Responder-Funktion verwenden, um die Anfrage an die sichere Website umzuleiten, ohne den Pfad und die URL-Abfrage zu ändern, auf die der Benutzer zugreifen möchte.

Wie der NetScaler-Responder eine Anfrage von HTTP zu HTTPS umleitet

Die folgende Abbildung zeigt Schritt für Schritt, wie die Appliance eine Anfrage umleitet.

Responder, der eine Anfrage umleitet

Hinweis: Die Navigationspfade und Screenshots stammen von NetScaler 11.0.

Gehen Sie wie folgt vor, um die Responder-Funktion zusammen mit den Load Balancing-VIP-Adressen einer NetScaler-Appliance so zu konfigurieren, dass Clientanfragen von HTTP zu HTTPS umgeleitet werden.

  1. Aktivieren Sie die Responder-Funktion auf der Appliance. Navigieren Sie zu System > Einstellungen > Erweiterte Funktionen konfigurieren > Responder.

    Responder aktivieren

  2. Erstellen Sie eine Responder-Aktion und geben Sie im Feld Name einen geeigneten Namen an, z. B. http_to_https_actn.
  3. Um eine Responder-Aktion zu erstellen, erweitern Sie im NavigationsbereichAppExpert>Responder, klicken Sie aufAktionenund dann auf Hinzufügen.
  4. Wählen Sie Umleitung als Typ aus.
  5. Geben Sie in das Feld Ausdruck den folgenden Ausdruck ein:

    "https://" + HTTP.REQ.HOSTNAME.HTTP_URL_SAFE + HTTP.REQ.URL.PATH_AND_QUERY.HTTP_URL_SAFE.

  6. Stellen Sie in NetScaler Version 9.0 und 10.0 sicher, dass die Option Bypass Safety Check deaktiviert ist.

    Hinweis: Diese Option ist ab NetScaler 11.0 nicht mehr verfügbar.

  7. Erstellen Sie eine Responder-Richtlinie und geben Sie im Feld Name einen entsprechenden Namen an, z. B. http_to_https_pol.
  8. Um eine Responder-Richtlinie zu erstellen, erweitern Sie im NavigationsbereichAppExpert>Responder, klicken Sie aufRichtlinienund dann auf Hinzufügen.
  9. Wählen Sie in der Aktionsliste den Namen der Aktion aus, die Sie erstellt haben.
  10. Wählen Sie in der Liste Undefinierte Aktionen die Option ZURÜCKSETZEN aus.
  11. Geben Sie den Ausdruck HTTP.REQ.IS_VALID in das Feld Ausdruck ein, wie im folgenden Screenshot gezeigt.

Responder-Richtlinie erstellen

  1. Erstellen Sie einen Monitor, dessen Status immer als UP gekennzeichnet ist, und geben Sie im Feld Name einen entsprechenden Namen an, z. B. localhost_ping.
  2. Um einen Monitor zu erstellen, erweitern Sie im Navigationsbereich Load Balancing, klicken Sie auf Monitore und dann auf Hinzufügen.
  3. Geben Sie im Feld Ziel-IP die 127.0.0.1-IP-Adresse an, wie im folgenden Screenshot gezeigt.

    Monitor konfigurieren

  4. Erstellen Sie einen Dienst und geben Sie im Feld Name einen entsprechenden Namen an, z. B. Always_up_Service.
  5. Um einen Dienst zu erstellen, erweitern Sie im Navigationsbereich Load Balancing, klicken Sie auf Dienste und dann auf Hinzufügen.
  6. Geben Sie im Feld Server eine nicht existierende IP-Adresse an.

    Monitor konfigurieren

  7. Geben Sie 80 in das Feld Port ein.
  8. Fügen Sie den erstellten Monitor aus der Liste Verfügbare Monitore hinzu.
  9. Erstellen Sie einen virtuellen Load Balancing-Server und geben Sie im Feld Name einen entsprechenden Namen an.
  10. Um einen virtuellen Load Balancing-Server zu erstellen, erweitern Sie im Navigationsbereich Load Balancing, klicken Sie auf Dienste und dann auf Hinzufügen.
  11. Geben Sie die IP-Adresse der Website im Feld IP-Adresse an.
  12. Wählen Sie HTTP aus der Protokollliste aus.
  13. Geben Sie 80 in das Feld Port ein.
  14. Wählen Sie in NetScaler Version 9.0 und 10.0 auf der Registerkarte Dienste die Option Aktiv für den Dienst, den Sie erstellt haben, wie im folgenden Screenshot gezeigt. Diese Option ist in NetScaler Version 11.0 veraltet.

    Wählen Sie die Option Aktion

  15. Klicken Sie auf die Registerkarte Richtlinien.
  16. Binden Sie die von Ihnen erstellte Responder-Richtlinie an die HTTP Load Balancing-VIP-Adresse der Website.
  17. Erstellen Sie einen sicheren virtuellen Load Balancing-Server mit der IP-Adresse der Website und dem Port 443.

Führen Sie die folgenden Befehle aus, um über die Befehlszeilenschnittstelle der Appliance eine Konfiguration zu erstellen, die dem vorherigen Verfahren ähnelt:

enable ns feature responder
add responder action http_to_https_actn redirect ""https://" + http.req.hostname.HTTP_URL_SAFE + http.REQ.URL.PATH_AND_QUERY.HTTP_URL_SAFE"
add responder policy http_to_https_pol HTTP.REQ.IS_VALID http_to_https_actn RESET
add lb monitor localhost_ping PING -LRTM ENABLED -destIP 127.0.0.1
add service Always_UP_service 1.2.3.4 HTTP 80 -gslb NONE -maxClient 0 -maxReq 0 -cip ENABLED dummy -usip NO -sp OFF -cltTimeout 180 -svrTimeout 360 -CKA NO -TCPB NO -CMP YES
bind lb monitor localhost_ping Always_UP_service
add lb vserver http_site.com HTTP 10.217.96.238 80 -persistenceType COOKIEINSERT -timeout 0 -cltTimeout 180
bind lb vserver http_site.com Always_UP_service
bind lb vserver http_site.com -policyName http_to_https_pol -priority 1 -gotoPriorityExpression END
<!--NeedCopy-->

Hinweise:

  • Der Status des virtuellen Load Balancing Redirect-Servers mit Port 80 muss AKTIV sein, damit die Umleitung funktioniert.
  • Webbrowser leiten möglicherweise nicht korrekt um, wenn der virtuelle HTTPS-Server nicht aktiv ist.
  • Dieses Umleitungs-Setup ermöglicht Situationen, in denen mehrere Domains an dieselbe IP-Adresse gebunden sind.
  • Wenn der Client eine ungültige HTTP-Anforderung an den virtuellen Umleitungsserver sendet, sendet die Appliance einen RESET Meldungscode.
So leiten Sie eine HTTP-Anfrage mithilfe des Responders an HTTPS um