ADC

Binden von Richtlinien mit erweiterten Richtlinien

Nach dem Definieren einer Richtlinie kann die Richtlinie aufgerufen werden, indem die Richtlinie an einen Bindepunkt gebunden und eine Prioritätsstufe angegeben wird. Sie können die Richtlinie nur an einen Bindepunkt binden. Ein Bindepunkt kann global sein (gilt für alle konfigurierten virtuellen Server) oder der Bindepunkt kann ein bestimmter virtueller Server sein (entweder ein Lastausgleich oder ein virtueller Content Switching-Server).

Die Reihenfolge, in der Richtlinien ausgewertet werden, bestimmt die Reihenfolge, in der sie angewendet werden. ADC-Funktionen bewerten in der Regel verschiedene Richtlinienbanken in einer bestimmten Reihenfolge. Manchmal können andere Funktionen jedoch die Reihenfolge der Auswertung beeinflussen. Innerhalb einer Richtlinienbank hängt die Reihenfolge der Auswertung von Parameterwerten ab, die in den Richtlinien konfiguriert sind. Die meisten Funktionen wenden alle Aktionen an, die mit einer Richtlinie verknüpft sind, wenn das ausgewertete Ergebnis mit den zu verarbeitenden Daten übereinstimmt.

Hinweis:

Die integrierte Caching-Funktion ist eine Ausnahme.

Funktionsspezifische Unterschiede bei Richtlinienbindungen

Sie können Richtlinien an integrierte, globale Bindepunkte (oder Banken), bestimmte virtuelle Server oder Richtlinienbeschriftungen binden.

Die Citrix ADC-Funktionen unterscheiden sich jedoch in der Art der verfügbaren Bindungen. In der folgenden Tabelle werden Richtlinienbindungen in Citrix ADC-Funktionen zusammengefasst, die Richtlinien verwenden.

Feature-Name Im Feature konfigurierte virtuelle Server Im Feature konfigurierte Richtlinien Bind-Punkte, die für die Richtlinien konfiguriert sind Verwendung von Richtlinien im Feature
DNS keine DNS-Richtlinien Global Um zu bestimmen, wie eine DNS-Auflösung für Anfragen durchgeführt wird.
Content Switching (Hinweis: Diese Funktion kann entweder klassische oder erweiterte Richtlinien unterstützen, aber nicht beide.) Content Switching (CS) Content Switching-Richtlinien Virtueller Content Switching- oder Cache-Umleitungserver; Richtlinienbezeichnung Um festzustellen, welcher Server oder eine Gruppe von Servern für die Bereitstellung von Antworten verantwortlich ist, basierend auf den Merkmalen einer eingehenden Anfrage. Anforderungsmerkmale umfassen Gerätetyp, Sprache, Cookies, HTTP-Methode, Inhaltstyp und zugehörige Cacheserver.
Integriertes Caching keine Caching-Richtlinien Globale Überschreibung, Globaler Standard, Richtlinienbezeichnung, Lastenausgleich, Content Switching oder virtueller SSL-Offload-Server Um festzustellen, ob HTTP-Antworten im integrierten Cache der Citrix ADC-Appliance gespeichert und von diesem bereitgestellt werden können.
Responder keine Richtlinien für Responder Globale Überschreibung, Globaler Standard, Richtlinienbezeichnung, Lastenausgleich, Content Switching oder virtueller SSL-Offload-Server Um das Verhalten der Responder-Funktion zu konfigurieren.
Neuschreiben keine Richtlinien umschreiben Globale Überschreibung, Globaler Standard, Richtlinienbezeichnung, Lastenausgleich, Content Switching oder virtueller SSL-Offload-Server Um HTTP-Daten zu identifizieren, die Sie vor dem Servieren ändern möchten. Die Richtlinien enthalten Regeln zum Ändern der Daten. Sie können beispielsweise HTTP-Daten ändern, um eine Anforderung basierend auf der Adresse der eingehenden Anforderung an einen ausgewählten Server umzuleiten oder Serverinformationen aus Sicherheitsgründen in einer Antwort zu maskieren.
URL-Transformationsfunktion in der Funktion Umschreiben keine Richtlinien zur Transformation Globale Überschreibung, Globaler Standard, Richtlinienbezeichnung Um URLs in HTTP-Transaktionen und Textdateien zu identifizieren, um auszuwerten, ob eine URL geändert werden soll.
Citrix Gateway (nur clientlose VPN-Funktionen) VPN-Server Richtlinien für den clientlosen Zugriff VPN Global, VPN-Server Um zu bestimmen, wie das Citrix Gateway Authentifizierung, Autorisierung, Überwachung und andere Funktionen durchführt, und definieren Umschreibungsregeln für den allgemeinen Webzugriff mit dem Citrix Gateway.

Binden Sie Punkte und Reihenfolge der Auswertung

Damit eine Richtlinie wirksam wird, müssen Sie sicherstellen, dass die Richtlinie irgendwann während der Verarbeitung aufgerufen wird. Dazu ordnen Sie die Richtlinie einem Bindepunkt zu. Die Sammlung von Richtlinien, die an einen Bindepunkt gebunden sind, wird als Richtlinienbank bezeichnet.

Im Folgenden sind die Bindepunkte aufgeführt, die der Citrix ADC auswertet und in der typischen Reihenfolge der Bewertung innerhalb einer Richtlinienbank aufgeführt sind

  1. Überschreibung der Anforderungszeit. Wenn eine Anforderung durch ein Feature fließt, wertet der Citrix ADC zunächst Richtlinien zur Überschreibung von Anforderungszeiten für das Feature aus.
  2. Virtueller Server zum Lastenausgleich bei Anforderung. Wenn die Richtlinienauswertung nicht abgeschlossen werden kann, nachdem alle Richtlinien zur Überschreibung der Anforderungszeit ausgewertet wurden, verarbeitet der Citrix ADC Anforderungszeitrichtlinien für den Lastenausgleich virtueller Server.
  3. Anforderungszeit für virtuellen Content Switching-Server. Wenn die Richtlinienauswertung nicht abgeschlossen werden kann, nachdem alle Anforderungszeitrichtlinien für virtuelle Server mit Lastenausgleich ausgewertet wurden, verarbeitet der Citrix ADC Anforderungszeitrichtlinien für virtuelle Server mit Content Switching.
  4. Standardeinstellung für die Anforderungszeit. Wenn die Richtlinienauswertung nach allen Anforderungszeiten nicht abgeschlossen werden kann, wurden virtuelle serverspezifische Richtlinien ausgewertet, verarbeitet der Citrix ADC erweiterte Anforderungszeitrichtlinien.
  5. Überschreibung der Reaktionszeit. Zur Reaktionszeit beginnt der Citrix ADC mit Richtlinien, die an den Bindepunkt zur Überschreibung der Antwortzeit gebunden sind.
  6. Virtueller Load Balancing-Server zur Reaktionszeit. Wenn die Richtlinienauswertung nicht abgeschlossen werden kann, nachdem alle Richtlinien zur Überschreibung der Reaktionszeit ausgewertet wurden, verarbeitet der Citrix ADC die Reaktionszeitrichtlinien für den Lastenausgleich virtueller Server.
  7. Antwortzeit für virtuellen Content Switching-Server. Wenn die Richtlinienauswertung nicht abgeschlossen werden kann, nachdem alle Richtlinien für virtuelle Server mit Lastenausgleich ausgewertet wurden, verarbeitet der Citrix ADC die Reaktionszeitrichtlinien für virtuelle Server mit Content Switching.
  8. Standardeinstellung für die Antwortzeit. Wenn die Richtlinienauswertung nach allen Reaktionszeiten nicht abgeschlossen werden kann, wurden Richtlinien spezifisch für virtueller Server ausgewertet, verarbeitet Citrix ADC erweiterte Richtlinien in der Reaktionszeit.

Richtlinien-Evaluierung über Funktionen hinweg

Wenn Sie Richtlinien in einem Feature auch auswerten, ist es wichtig, dass diese Richtlinien vor anderen Richtlinien ausgewertet werden, wenn Sie Richtlinien an einen virtuellen Content Switching-Server binden. Das Binden einer Richtlinie an einen virtuellen Content Switching-Server führt in Citrix ADC Versionen 9.0.x und höher als in 8.x-Versionen zu einem anderen Ergebnis. In Citrix ADC 9.0 und höheren Versionen erfolgt die Auswertung wie folgt:

  • Content Switching-Richtlinien werden vor anderen Richtlinien ausgewertet. Wenn eine Content Switching-Richtlinie zu TRUE ausgewertet wird, wird der virtuelle Ziel-Lastenausgleichsserver ausgewählt.
  • Wenn alle Content Switching-Richtlinien auf FALSE ausgewertet werden, wird der standardmäßige virtuelle Lastausgleichsserver unter dem VIP für Content Switching ausgewählt.

Nachdem ein virtueller Ziel-Lastenausgleichsserver durch den Content Switching-Prozess ausgewählt wurde, werden Richtlinien in der folgenden Reihenfolge ausgewertet:

  1. Richtlinien, die an den globalen Override-Bindepunkt gebunden sind.
  2. Richtlinien, die an den standardmäßigen virtuellen Lastenausgleichsserver gebunden sind.
  3. Richtlinien, die an den virtuellen Zielserver für Content Switching gebunden sind.
  4. Richtlinien, die an den globalen Standardbindepunkt gebunden sind.

Befolgen Sie diese Richtlinien, um sicherzustellen, dass die Richtlinien in der beabsichtigten Reihenfolge bewertet werden:

  • Stellen Sie sicher, dass der standardmäßige virtuelle Lastausgleichsserver nicht direkt von außen erreichbar ist. Die IP-Adresse des virtuellen Servers kann beispielsweise 0.0.0.0 lauten.
  • Um zu verhindern, dass interne Daten auf dem virtuellen Standardserver für den Lastausgleich verfügbar sind, konfigurieren Sie eine Richtlinie so, dass sie mit dem Status “503 Dienst nicht verfügbar” reagiert, und binden Sie sie an den standardmäßigen virtuellen Lastausgleichsserver.

Einträge in einer Richtlinienbank

Jeder Eintrag in einer Richtlinienbank hat mindestens eine Policy und eine Prioritätsstufe. Sie können auch Einträge konfigurieren, die die prioritätsbasierte Bewertungsreihenfolge ändern, und Sie können Einträge konfigurieren, die externe Richtlinienbanken aufrufen. Die Richtlinienbank ist die Gruppe von Richtlinien, die an einem bestimmten Bindepunkt gebunden sind und für einen bestimmten Datenverkehr ausgewertet werden können. Wenn einige Richtlinien an LB vserver eines HTTP-Protokolltyps gebunden sind, ist LB vserver eine Richtlinienbank. Und die an diese Richtlinienbank gebundenen Richtlinien können für den HTTP-Datenverkehr ausgewertet werden. Wenn einige Umschreibrichtlinien bei DNS_REQ_OVERRIDE Bindpoint global umschreiben müssen, ist DNS_REQ_OVERRIDE bindpoit eine Richtlinienbank, an die einige Richtlinien gebunden sind.

Da wir im Policy Label eine Anzahl von Richtlinien binden können, ist die Policy Label auch eine Richtlinienbank.

Die politischen Banken werden basierend auf den Protokollen, Bedingungen und Prioritäten differenziert. Angenommen, Sie haben einen virtuellen 2-LB-Server. Einer ist vom Typ HTTP und ein anderer ist vom Typ DNS. Und an diese virtuellen Server sind verschiedene Richtlinien gebunden. Beide virtuellen Server sind also die Richtlinienbanken, aber Richtlinien, die an eine der Richtlinienbank gebunden sind, werden auf HTTP-Datenverkehr ausgewertet. Die an eine andere Richtlinienbank gebundenen Richtlinien werden auf DNS-Datenverkehr ausgewertet. Für jede Richtlinienbewertung wird eine Regel ausgewertet. Für NOPOLICY wird auch eine Regel wahr bewertet. Wenn ein Benutzer eine Policy Label für den gesamten Datenverkehr aufrufen möchte, kann der Benutzer NOPOLICY als seine Regel verwenden.

Die folgende Tabelle fasst jeden Eintrag in einer Richtlinienbank zusammen.

Name der Richtlinie Priorität Gehe zu Ausdruck Aufruftstyp Richtlinienbank, die aufgerufen werden soll
Der Richtlinienname oder eine “Dummy” -Richtlinie. Eine ganze Zahl. Optional. Wenn dies nicht konfiguriert ist, nimmt ADC den Standardwert für goToRiorityExpression an. Es identifiziert die nächste zu bewertende Richtlinie, wenn die aktuelle Richtlinie als wahr bewertet wird, oder beendet eine weitere Bewertung Optional. Zeigt an, dass eine externe Richtlinienbank aufgerufen wird. Das Feld beschränkt die Auswahl auf eine globale Policy Label oder einen virtuellen Server. Optional. Wird mit Aufruftstyp verwendet. Dies ist die Bezeichnung für eine Richtlinienbank oder einen virtuellen Servernamen. Der Citrix ADC kehrt nach Bearbeitung der externen Bank an die aktuelle Bank zurück.

Wenn die Richtlinie zu TRUE ausgewertet wird, speichert der Citrix ADC die Aktion, die mit der Richtlinie verknüpft ist. Add Bewerten Sie die nächste Richtlinie basierend auf dem gotoPriorityExpression Feldwert. Wenn die Richtlinie zu FALSE ausgewertet wird, wertet der Citrix ADC die nächste Richtlinie aus. Wenn die Richtlinie weder TRUE noch FALSE ist, verwendet der Citrix ADC die zugehörige Undef-Aktion (undefined). Der Aufruftstyp bezeichnet einen Richtlinienbanktyp. Der Wert kann einer der folgenden sein:

  • Vserver anfordern: Ruft Richtlinien zur Anforderungszeit auf, die mit einem virtuellen Server verknüpft sind.
  • Response Vserver: Ruft Reaktionszeitrichtlinien auf, die mit einem virtuellen Server verknüpft sind.
  • Policy Label: Ruft eine andere Richtlinienbank auf, die durch das Richtlinienlabel der Bank gekennzeichnet ist. GotoPriorityExpression Feldwerte:
  • Goto NEXT - Gehe zur Richtlinie mit der nächsthöheren Priorität
  • Goto END - Evaluierung beenden
  • Goto # - Ein Ausdruck, der die Prioritätsnummer der nächsten auszuwertenden Richtlinie erzeugt. Goto kann nur in einer Richtlinienbank durchgeführt werden.
  • Goto USE_INVOCATION_RESULT — Gilt, wenn diese Richtlinie ein anderes Policy Label aufruft. Wenn der endgültige Aufruf in der aufgerufenen Policy Label den Wert END hat, wird die Auswertung beendet. Wenn der endgültige Schritt etwas anderes als END ist, führt die aktuelle Policy Label eine NEXT aus. Wenn Sie den Goto-Ausdruck weglassen, entspricht er der Angabe von END. Beispiel für eine Richtlinienbank, die Goto-Ausdruck verwendet:
Name der Richtlinie Priorität Goto Aufruf Richtlinienbank wird aufgerufen
ClientCertificatePolicy 100 300 Ohne Ohne
SubnetPolicy 200 Neben Ohne Ohne
NOPOLICY 300 USE INVOCATION RESULT Server anfragen My_Request_VServer
NOPOLICY 350 USE INVOCATION RESULT Richtlinienlabel My_Policy_Label
WorkingHoursPolicy 400 END Ohne Ohne

Evaluierungsauftrag innerhalb einer Richtlinienbank

Innerhalb einer Richtlinienbank hängt die Evaluierungsreihenfolge von folgenden Parametern ab:

  • Eine Priorität.

    Die minimalste Menge an Informationen über die Bewertungsreihenfolge ist eine numerische Prioritätsstufe. Je niedriger die Zahl, desto höher die Priorität.

  • Ein Goto-Ausdruck.

    Wenn angegeben, gibt der Gehe zu Ausdruck die nächste Richtlinie an, die ausgewertet werden soll, typischerweise innerhalb derselben Richtlinienbank. Gehe zu Ausdrücken können nur in einer Bank weitergehen. Um Looping zu verhindern, ist eine Richtlinienbankkonfiguration nicht gültig, wenn ein Goto-Auszug in der Bank rückwärts zeigt.

  • Anrufung anderer politischer Banken.

    Jeder Eintrag kann sich auf eine externe Richtlinienbank berufen. Der Citrix ADC bietet eine integrierte Entität namens NOPOLICY, die keine Regel hat. Sie können einen NOPOLICY-Eintrag in einer Richtlinienbank hinzufügen, wenn Sie eine andere Richtlinienbank aufrufen möchten, aber vor dem Aufruf keine anderen Regeln verarbeiten möchten. Sie können mehrere NOPOLICY-Einträge in mehreren Richtlinienbanken haben.

Die Werte für einen Goto-Ausdruck lauten wie folgt:

  • NEXT.

    Dieses Schlüsselwort wählt die Richtlinie mit der nächsthöheren Prioritätsstufe in der aktuellen Richtlinienbank aus.

  • Eine ganze Zahl.

    Wenn Sie eine ganze Zahl angeben, muss sie mit der Prioritätsstufe einer anderen Richtlinie in der aktuellen Richtlinienbank übereinstimmen.

  • END.

    Das Schlüsselwort stoppt die Auswertung nach der Verarbeitung der aktuellen Richtlinie, und es werden keine zusätzlichen Richtlinien in dieser Bank verarbeitet.

  • Leer.

    Wenn der Goto-Ausdruck leer ist, entspricht er der Angabe von END.

  • Ein numerischer Ausdruck.

    Dies ist ein erweiterter Richtlinienausdruck, der in eine Prioritätsnummer für eine andere Richtlinie in der aktuellen Bank aufgelöst wird.

  • USE_INVOCATION_RESULT.

    Der Ausdruck kann nur verwendet werden, wenn Sie sich auf eine externe Richtlinienbank berufen. Durch die Eingabe des Ausdrucks führt der Citrix ADC eine der folgenden Aktionen aus:

    • Wenn das endgültige Goto in der aufgerufenen Richtlinienbank den Wert END hat oder leer ist, lautet das Aufrufsergebnis END und die Bewertung wird beendet.
    • Wenn der endgültige Goto-Ausdruck in der aufgerufenen Richtlinienbank etwas anderes als END ist, führt der Citrix ADC eine NEXT aus.

Die folgende Tabelle zeigt eine Richtlinienbank, die Goto-Ausdrücke und Richtlinienbank-Aufrufe verwendet.

Name der Richtlinie Priorität Goto Aufruf Richtlinienbank, die aufgerufen werden soll ——– —- —- —-          
ClientCertificatePolicy (rule: does the request contain a client certificate?) 100 300 None None                    
SubnetPolicy (rule: is the client from a private subnet?) 200 NEXT None None NOPOLICY 300 USE INVOCATION RESULT Request virtual server My_Request_VServer NOPOLICY 350 USE INVOCATION RESULT Policy Label My_Policy_Label
WorkingHoursPolicy (rule: is it working hours?) 400 END None None                    

Tabelle 3. Beispiel für eine Richtlinienbank, die Gotos und externe Bankaufrufe verwendet

Wie die Bewertung von Richtlinien endet

Die Auswertung einer Richtlinienbank endet, wenn die Citrix ADC-Appliance einen der folgenden Schritte ausführt:

  • Wenn eine Richtlinienbewertung TRUE ist, ruft sie eine externe Richtlinienbank auf und ihr GoTo-wert ist “USE_INVOCATION_RESULT”, und wenn eine andere Richtlinie in der externen Richtlinienbank auch “TRUE” auswertet und Gehe zu Auszugswert “END” ist, dann nach der Rückkehr von der externen Richtlinienbank, wird keine weitere Richtlinie ausgewertet werden.

  • Eine externe Richtlinienbank wird aufgerufen, ihre Bewertung gibt ein END zurück, und die Goto-Anweisung verwendet den Wert USE_INVOCATION_RESULT oder END. Die Bewertung wird mit der nächsten Richtlinienbank für diese Funktion fortgesetzt. Wenn die aktuelle Bank beispielsweise die Bank zur Überschreibung der Anforderungszeit ist, wertet der Citrix ADC als Nächstes Richtlinienbanken für die virtuellen Server aus.

  • Der Citrix ADC hat in dieser Funktion alle Richtlinienbanken durchlaufen, hat aber kein END gefunden.

Wenn dies der letzte Eintrag ist, der in dieser Richtlinienbank ausgewertet wird, fährt der Citrix ADC mit der nächsten Funktion fort.

Wie Funktionen Aktionen nach der Richtlinienbewertung verwenden

Nach Auswertung aller relevanten Richtlinien für einen bestimmten Datenpunkt (z. B. eine HTTP-Anforderung) speichert der Citrix ADC alle Aktionen, die mit einer Richtlinie verknüpft sind, die mit den Daten übereinstimmen.

Für die meisten Funktionen werden alle Aktionen aus übereinstimmenden Richtlinien auf ein Datenverkehrspaket angewendet, wenn es den Citrix ADC verlässt. Die Funktion “Integriertes Caching” wendet nur eine Aktion an: CACHE oder NOCACHE. Diese Aktion ist mit der Richtlinie mit dem niedrigsten Prioritätswert in der Richtlinienbank “höchste Priorität” verknüpft (z. B. werden Richtlinien zur Überschreibung von Anforderungszeiten vor virtuellen serverspezifischen Richtlinien angewendet).