String-Maps

Sie können Zeichenfolgenzuordnungen verwenden, um Musterabgleich in allen Citrix ADC Features durchzuführen, die die Standardrichtliniensyntax verwenden. Eine Zeichenfolgenzuordnung ist eine Citrix ADC Entität, die aus Schlüssel-Wert-Paaren besteht. Die Schlüssel und Werte sind Zeichenfolgen im ASCII- oder UTF-8-Format. Der String-Vergleich verwendet zwei neue Funktionen, MAP_STRING () und IS_STRINGMAP_KEY ().

Eine Richtlinienkonfiguration, die Zeichenfolgenzuordnungen verwendet, ist besser als eine, die Zeichenfolgenabgleich über Richtlinienausdrücke durchführt, und Sie benötigen weniger Richtlinien, um Zeichenfolgenabgleich mit einer großen Anzahl von Schlüssel-Wert-Paaren durchzuführen. String-Maps sind auch intuitiv, einfach zu konfigurieren und führen zu einer kleineren Konfiguration.

Funktionsweise von String-Maps

String-Maps sind in der Struktur ähnlich wie Mustersätze (ein Mustersatz definiert eine Zuordnung von Indexwerten zu Strings; eine String-Map definiert eine Zuordnung von Strings zu Strings) und die Konfigurationsbefehle für String-Maps (Befehle wie add, bind, unbind, remove und show) sind syntaktisch ähnlich der Konfiguration -Befehle für Mustersätze. Wie bei Indexwerten in einem Mustersatz muss jeder Schlüssel in einer Zeichenfolgenzuordnung auf der Karte eindeutig sein. Die folgende Tabelle zeigt eine String-Map namens url_string_map, die URLs als Schlüssel und Werte enthält.

Key Wert
/url_1.html http://www.redirect_url_1.com/url_1.html
/url_2.html http://www.redirect_url_2.com/url_2.html
/url_3.html http://www.redirect_url_1.com/url_1.html

Tabelle 1. String-Map url_string_map

In der folgenden Tabelle werden die beiden Funktionen beschrieben, die eingeführt wurden, um den Zeichenfolgenabgleich mit Schlüsseln in einer Zeichenfolgenzuordnung zu aktivieren. String-Matching wird immer mit den Tasten durchgeführt. Darüber hinaus führen die folgenden Funktionen einen Vergleich zwischen den Tasten in der Zeichenfolgenzuordnung und der vollständigen Zeichenfolge durch, die vom Ausdruckspräfix zurückgegeben wird. Die Beispiele in den Beschreibungen beziehen sich auf das vorangehende Beispiel.

Ausführliche Informationen zu den beiden Funktionen, die zum Aktivieren von String-Matching mit Schlüsseln in einer String-Map eingeführt wurden, finden Sie inString-Map-FunktionTabelle pdf.

Konfigurieren einer Zeichenfolgenzuordnung

Sie erstellen zuerst eine String-Map und binden dann Schlüssel-Wert-Paare an sie. Sie können eine Zeichenfolgenzuordnung über die Befehlszeilenschnittstelle (CLI) oder das Konfigurationsdienstprogramm erstellen.

So konfigurieren Sie eine Zeichenfolgenzuordnung mit der Befehlszeilenschnittstelle

Führen Sie an der Eingabeaufforderung die folgenden Schritte aus:

  1. Erstellen Sie eine Zeichenfolgenzuordnung.

    add policy stringmap <name> -comment <string>

  2. Binden Sie ein Schlüssel-Wert-Paar an die Zeichenfolgenzuordnung.

    bind policy stringmap <name> <key> <value>

    Beispiel:

    > bind policy stringmap url_string_map1 "/url_1.html" "http://www.redirect_url_1.com/url_1.html"
    

    So konfigurieren Sie eine Zeichenfolgenzuordnung mit dem Konfigurationsdienstprogramm

    Erstellen Sie eine Zeichenfolgenzuordnung und binden Sie das Schlüssel-Wert-Paar an die erstellte Entität.

    Navigieren Sie zu AppExpert > String-Maps, klicken Sie auf Hinzufügen und geben Sie die relevanten Details an.

Beispiel: Responder-Richtlinie mit einer Umleitungsaktion

Der folgende Anwendungsfall umfasst eine Responder-Richtlinie mit einer Umleitungsaktion. Im folgenden Beispiel erstellen die ersten vier Befehle die Zeichenfolgenzuordnung url_string_map und binden die drei Schlüssel-Wert-Paare, die im vorherigen Beispiel verwendet wurden. Nachdem Sie die Zuordnung erstellt und die Schlüssel-Wert-Paare gebunden haben, erstellen Sie eine Responder-Aktion (act_url_redirects), die den Client auf die entsprechende URL in der String-Map oder auf www.default.com umleitet. Außerdem konfigurieren Sie eine Responderrichtlinie (pol_url_redirects), die prüft, ob angeforderte URLs mit einem der Schlüssel in url_string_map übereinstimmen und dann die konfigurierte Aktion ausführt. Schließlich binden Sie die Responder-Richtlinie an den virtuellen Server, der die Client-Anforderungen empfängt, die ausgewertet werden sollen.

add stringmap url_string_map

bind stringmap url_string_map /url_1.html http://www.redirect_url_1.com/url_1.html

bind stringmap url_string_map /url_2.html http://www.redirect_url_2.com/url_2.html

bind stringmap url_string_map /url_3.html http://www.redirect_url_1.com/url_1.html

add responder action act_url_redirects redirect 'HTTP.REQ.URL.MAP_STRING("url_string_map") ALT "www.default.com"' -bypassSafetyCheck yes

add responder policy pol_url_redirects TRUE act_url_redirects

bind cs vserver csw_redirect -policyname pol_url_redirects -priority 1 -type request