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.
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.
Aktivieren Sie die Responder-Funktion auf der Appliance. Navigieren Sie zuSystem>Einstellungen>Erweiterte Funktionen konfigurieren>Responder.
- Erstellen Sie eine Responder-Aktion, und geben Sie im Feld Name einen entsprechenden Namen an, z. B. http_to_https_actn.
- Um eine Responder-Aktion zu erstellen, erweitern Sie im NavigationsbereichAppExpert>Responder, klicken Sie aufAktionen, und klicken Sie dann aufHinzufügen.
- Wählen Sie Als Typ umleiten aus.
Geben Sie im FeldAusdruckden folgenden Ausdruck ein:
"https://" + HTTP.REQ.HOSTNAME.HTTP_URL_SAFE + HTTP.REQ.URL.PATH_AND_QUERY.HTTP_URL_SAFE
.Stellen Sie in NetScaler Version 9.0 und 10.0 sicher, dass die OptionSicherheitsprüfung umgehendeaktiviert ist.
Hinweis: Diese Option ist ab NetScaler 11.0 nicht vorhanden.
- Erstellen Sie eineResponder-Richtlinie, und geben Sie im Feld Name einen entsprechenden Namen an, z. B. http_to_https_pol.
- Um eine Responder-Richtlinie zu erstellen, erweitern Sie im NavigationsbereichAppExpert>Responder, klicken Sie aufRichtlinienund dann aufHinzufügen.
- Wählen Sie in der Liste Aktion den Aktionsnamen aus, den Sie erstellt haben.
- Wählen Sie in der Liste Nicht definierte Aktion die Option RESET aus.
- Geben Sie denHTTP.REQ.IS_VALIDAusdruck in das FeldAusdruckein, wie im folgenden Screenshot gezeigt.
- 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.
- Erweitern Sie zum Erstellen eines Monitors im NavigationsbereichLastenausgleich, klicken Sie aufMonitore, und klicken Sie dann aufHinzufügen.
Geben Sie im FeldZiel-IPdie IP-Adresse 127.0.0.1 an, wie im folgenden Screenshot gezeigt.
- Erstellen Sie einen Dienst, und geben Sie im Feld Name einen entsprechenden Namen an, z. B. Always_UP_Service.
- Um einen Dienst zu erstellen, erweitern Sie im NavigationsbereichLastenausgleich, klicken Sie aufDienste, und klicken Sie dann aufHinzufügen.
Geben Sie im Feld服务器eine nicht vorhandene IP-Adresse an.
- Geben Sie im FeldPort80 ein.
- Fügen Sie den erstellten Monitor aus der ListeVerfügbare Monitorehinzu.
- Erstellen Sie einen virtuellen Load Balancing Server, und geben Sie einen entsprechenden Namen im FeldNamean.
- 嗯杯virtuellen Lastenausgleichsserver zu erstellen, erweitern Sie im NavigationsbereichLastenausgleich, klicken Sie aufDienste, und klicken Sie dann aufHinzufügen.
- Geben Sie die IP-Adresse der Website im Feld IP-Adresse an.
- Wählen Sie HTTP aus der Protokollliste.
- Geben Sie 80 in das Feld Port ein.
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.
- Klicken Sie auf die RegisterkarteRichtlinien.
- Binden Sie die von Ihnen erstellte Responder-Richtlinie an die HTTP-Load Balancing-VIP-Adresse der Website.
- 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
Hinweise:
- 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.