Citrix ADC

Wie man HTTP-Anfrage mit Responder an HTTPS umleitet

In diesem Artikel wird erläutert, wie Sie das Responder-Feature mit einem Lastenausgleich virtuellen Server-IP-Adressen konfigurieren und Clientanforderungen von HTTP an HTTPS umleiten.

Betrachten Sie ein Szenario, in dem ein Benutzer versuchen könnte, durch Senden einer HTTP-Anforderung auf eine sichere Website zuzugreifen. Anstatt die Anforderung zu löschen, sollten Sie die Anforderung möglicherweise an eine sichere Website umleiten. Sie können die Responder-Funktion verwenden, um die Anforderung an die sichere Website umzuleiten, ohne den Pfad und die URL-Abfrage zu ändern, auf die der Benutzer zugreifen möchte.

Wie Citrix ADC Responder eine Anforderung von HTTP an HTTPS umleitet

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

Responder Umleitung einer Anfrage

Hinweis: Die Navigationspfade und Screenshots werden von NetScaler 11.0 abgeleitet.

Führen Sie das folgende Verfahren aus, um die Responder-Funktion zusammen mit den Load Balancing VIP-Adressen einer NetScaler Appliance so zu konfigurieren, dass Clientanforderungen von HTTP an 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 entsprechenden Namen an, z. B. http_to_https_actn.
  3. Um eine Responder-Aktion zu erstellen, erweitern Sie im Navigationsbereich AppExpert > Responder, klicken Sie auf Aktionen, und klicken Sie dann auf Hinzufügen .
  4. Wählen Sie Als Typ umleiten aus.
  5. Geben Sie im 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 Sicherheitsprüfung umgehen deaktiviert ist.

    Hinweis: Diese Option ist ab NetScaler 11.0 nicht vorhanden.

  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 Navigationsbereich AppExpert > Responder, klicken Sie auf Richtlinien und dann auf Hinzufügen .
  9. Wählen Sie in der Liste Aktion den Aktionsnamen aus, den Sie erstellt haben.
  10. Wählen Sie in der Liste Nicht definierte Aktion die Option RESET aus.
  11. Geben Sie den HTTP.REQ.IS_VALID Ausdruck in das Feld Ausdruck ein, wie im folgenden Screenshot gezeigt.

Responder-Richtlinie erstellen

  1. Erstellen Sie einen Monitor, für den der Status immer als UP markiert ist, und geben Sie im Feld Name einen entsprechenden Namen an, z. B. localhost_ping.
  2. Erweitern Sie zum Erstellen eines Monitors im Navigationsbereich Lastenausgleich, klicken Sie auf Monitore, und klicken Sie dann auf Hinzufügen.
  3. Geben Sie im Feld Ziel-IP die IP-Adresse 127.0.0.1 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 Lastenausgleich, klicken Sie auf Dienste, und klicken Sie dann auf Hinzufügen.
  6. Geben Sie im Feld Server eine nicht vorhandene IP-Adresse an.

    Monitor konfigurieren

  7. Geben Sie im Feld Port 80 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 einen entsprechenden Namen im Feld Name an.
  10. Um einen virtuellen Lastenausgleichsserver zu erstellen, erweitern Sie im Navigationsbereich Lastenausgleich, klicken Sie auf Dienste, und klicken Sie 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.
  13. Geben Sie 80 in das Feld Port ein.
  14. Wählen Sie in NetScaler Version 9.0 und 10.0 die Option Aktiv für den Dienst, den Sie auf der Registerkarte Dienste erstellt haben, wie im folgenden Screenshot gezeigt. Diese Option ist in NetScaler Version 11.0 veraltet.

    Aktion auswählen (Option)

  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, der die IP-Adresse der Website und Port als 443 aufweist.

Führen Sie folgende Befehle aus, um eine Konfiguration ähnlich der vorherigen Prozedur über die Befehlszeilenschnittstelle der Appliance zu erstellen:

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

Anmerkungen:

  • Der Status des virtuellen Port80 Load Balancing Redirect Servers muss UP sein, damit die Umleitung funktioniert.
  • Webbrowser werden möglicherweise nicht korrekt umgeleitet, wenn der virtuelle HTTPS-Server nicht aktiv ist.
  • Diese Umleitungseinrichtung ermöglicht Situationen, in denen mehrere Domänen 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.

Wie man HTTP-Anfrage mit Responder an HTTPS umleitet