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 NetScaler-Funktionen unterscheiden sich jedoch in der Art der verfügbaren Bindungen. In der folgenden Tabelle werden Richtlinienbindungen in NetScaler-Funktionen zusammengefasst, die Richtlinien verwenden.
Featurename | 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 erweiterte Richtlinien unterstützen, aber nicht beides.) | 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 NetScaler-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. |
Rewrite | keine | Rewriterichtlinien | 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 Rewrite | 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. |
NetScaler Gateway (nur clientlose VPN-Funktionen) | VPN-Server | Richtlinien für den clientlosen Zugriff | VPN Global, VPN-Server | Um zu bestimmen, wie das NetScaler Gateway Authentifizierung, Autorisierung, Überwachung und andere Funktionen durchführt, und definieren Rewriteregeln für den allgemeinen Webzugriff mit dem NetScaler 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 NetScaler auswertet und in der typischen Reihenfolge der Bewertung innerhalb einer Richtlinienbank aufgeführt sind
- Request-time override. Wenn eine Anforderung durch ein Feature fließt, wertet der NetScaler zunächst Richtlinien zur Überschreibung von Anforderungszeiten für das Feature aus.
- Virtueller Server zum Lastenausgleich bei Anforderung. Wenn die Richtlinienauswertung nicht abgeschlossen werden kann, nachdem alle Richtlinien zur Überschreibung der Anforderungszeit ausgewertet wurden, verarbeitet der NetScaler Anforderungszeitrichtlinien für den Lastenausgleich virtueller Server.
- 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 NetScaler Anforderungszeitrichtlinien für virtuelle Server mit Content Switching.
- Request-time default. Wenn die Richtlinienauswertung nach allen Anforderungszeiten nicht abgeschlossen werden kann, wurden virtuelle serverspezifische Richtlinien ausgewertet, verarbeitet der NetScaler erweiterte Anforderungszeitrichtlinien.
- Überschreibung der Reaktionszeit. Zur Reaktionszeit beginnt der NetScaler mit Richtlinien, die an den Bindepunkt zur Überschreibung der Antwortzeit gebunden sind.
- Virtueller Load Balancing-Server zur Reaktionszeit. Wenn die Richtlinienauswertung nicht abgeschlossen werden kann, nachdem alle Richtlinien zur Überschreibung der Reaktionszeit ausgewertet wurden, verarbeitet der NetScaler die Reaktionszeitrichtlinien für den Lastenausgleich virtueller Server.
- 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 NetScaler die Reaktionszeitrichtlinien für virtuelle Server mit Content Switching.
- Standardeinstellung für die Reaktionszeit. Wenn die Richtlinienauswertung nach allen Reaktionszeiten nicht abgeschlossen werden kann, wurden Richtlinien spezifisch für virtueller Server ausgewertet, verarbeitet NetScaler 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 NetScaler Versionen 9.0.x und höher als in 8.x-Versionen zu einem anderen Ergebnis. In NetScaler 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:
- Richtlinien, die an den globalen Override-Bindepunkt gebunden sind.
- Richtlinien, die an den standardmäßigen virtuellen Lastenausgleichsserver gebunden sind.
- Richtlinien, die an den virtuellen Zielserver für Content Switching gebunden sind.
- 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 Rewriterichtlinien bei DNS_REQ_OVERRIDE Bindpoint global neu schreiben 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.
Richtlinienname | Priorität | Gehe zu Expression | 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 NetScaler kehrt nach Bearbeitung der externen Bank an die aktuelle Bank zurück. |
Wenn die Richtlinie zu TRUE ausgewertet wird, speichert der NetScaler 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 NetScaler die nächste Richtlinie aus. Wenn die Richtlinie weder TRUE noch FALSE ist, verwendet der NetScaler 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 dies der Angabe von END. Beispiel für eine Richtlinienbank, die Goto-Ausdruck verwendet:
Richtlinienname | 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 NetScaler 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:
-
WEITER.
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.
-
ENDE.
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 VERWENDET WIRD.
Der Ausdruck kann nur verwendet werden, wenn Sie sich auf eine externe Richtlinienbank berufen. Durch die Eingabe des Ausdrucks führt der NetScaler 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 NetScaler eine NEXT aus.
Die folgende Tabelle zeigt eine Richtlinienbank, die Goto-Ausdrücke und Richtlinienbank-Aufrufe verwendet.
| Richtlinienname | 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 NetScaler-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 NetScaler als Nächstes Richtlinienbanken für die virtuellen Server aus.
-
Der NetScaler 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 NetScaler 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 NetScaler 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 NetScaler 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).
In diesem Artikel
- Funktionsspezifische Unterschiede bei Richtlinienbindungen
- Binden Sie Punkte und Reihenfolge der Auswertung
- Richtlinien-Evaluierung über Funktionen hinweg
- Einträge in einer Richtlinienbank
- Evaluierungsauftrag innerhalb einer Richtlinienbank
- Wie die Bewertung von Richtlinien endet
- Wie Funktionen Aktionen nach der Richtlinienbewertung verwenden