Persistente Verbindungen konfigurieren

Persistenz stellt sicher, dass eine Reihe von Clientanforderungen für einen bestimmten Domänennamen an dasselbe Rechenzentrum gesendet wird, anstatt Lastenausgleich zu werden. Wenn die Persistenz für eine bestimmte Domäne konfiguriert ist, hat sie Vorrang vor der konfigurierten GSLB-Methode. Persistenz ist nützlich für Bereitstellungen, die sich mit E-Commerce befassen, z. B. die Verwendung von Einkaufskarten, bei denen der Server den Status der Verbindung beibehalten muss, um die Transaktion zu verfolgen. Um den Verbindungsstatus beizubehalten, müssen Sie die Persistenz auf einem virtuellen Server konfigurieren. Wenn die Persistenz konfiguriert ist, wählt die Citrix ADC Appliance ein Rechenzentrum aus, um eine Clientanforderung zu verarbeiten, und leitet die IP-Adresse des ausgewählten Rechenzentrums für alle nachfolgenden DNS-Anforderungen weiter. Wenn die konfigurierte Persistenz auf einen ausgefallenen Standort angewendet wird, verwendet die Citrix ADC Appliance eine GSLB-Methode, um einen neuen Standort auszuwählen, und der neue Standort wird dauerhaft für nachfolgende Anforderungen vom Client.

Der virtuelle GSLB-Server ist für die DNS-basierte Standortpersistenz verantwortlich und steuert die Standortpersistenz für einen entfernten GSLB-Dienst. Die Citrix ADC Appliance unterstützt Persistenz basierend auf der Quell-IP-Adresse oder auf HTTP-Cookies.

Wenn Sie einen physischen Dienst mit einer Verzögerungszeit herunterfahren, wechselt der physische Dienst in den TROFS-Status (Transition Out of Service). Die Site-Persistenz wird unterstützt, solange sich der Dienst im TROFS-Status befindet. Das heißt, wenn derselbe Client innerhalb der angegebenen Verzögerungszeit eine Anforderung für denselben Dienst sendet, nachdem ein Dienst als TROFS markiert wurde, wird die Anfrage von derselben GSLB-Site (Rechenzentrum) bearbeitet.

Hinweis: Wenn Verbindungsproxy als Sitepersistenzmethode angegeben ist und Sie auch die Persistenz der physischen Server konfigurieren möchten, konfigurieren Sie die SOURCEIP-Persistenz nicht. Wenn die Verbindung proxiert wird, wird eine IP-Adresse verwendet, die der Appliance gehört und nicht die tatsächliche IP-Adresse des Clients. Konfigurieren Sie Methoden wie Cookie-Persistenz oder regelbasierte Persistenz auf dem virtuellen Lastenausgleichsserver.

Persistenz basierend auf Quell-IP-Adresse konfigurieren

Wenn eine DNS-Anforderung in einem Rechenzentrum empfangen wird, sucht die Citrix ADC Appliance nach einem Eintrag in der Persistenztabelle. Wenn ein Eintrag für den lokalen DNS-Server vorhanden ist und der im Eintrag erwähnte Server konfiguriert ist, wird die IP-Adresse dieses Servers als DNS-Antwort gesendet.

Für die erste Anforderung eines bestimmten Clients wählt die Citrix ADC Appliance die beste GSLB-Site für die Anforderung aus und sendet ihre IP-Adresse an den Client. Da die Persistenz für die Quell-IP-Adresse des Clients konfiguriert ist, wird allen nachfolgenden Anforderungen dieses Clients oder eines anderen lokalen DNS-Servers im selben IP-Subnetz die IP-Adresse des GSLB-Sites gesendet, der für die erste Anforderung ausgewählt wurde.

Für quelle-IP-adressbasierte Persistenz muss derselbe Satz Persistenzbezeichner auf den virtuellen GSLB-Servern in allen Rechenzentren konfiguriert werden. Eine Persistenzkennung ist eine Nummer, die von den Rechenzentren verwendet wird, um einen bestimmten virtuellen GSLB-Server zu identifizieren. Ein Cookie überträgt die Persistenzkennung und ermöglicht es der Citrix ADC Appliance, die Domäne zu identifizieren, sodass alle entsprechenden Anforderungen an dieselbe Domäne weitergeleitet werden können. Wenn die Persistenz aktiviert ist, werden die Persistenzinformationen auch im Rahmen des Metrikaustauschs ausgetauscht.

Damit die Citrix ADC Appliance die Persistenz standortübergreifend unterstützt, muss die Persistenz auf den virtuellen GSLB-Servern aller teilnehmenden Sites aktiviert sein. Wenn Sie die Persistenz der Quell-IP-Adresse für die Netzwerkkennung verwenden, müssen Sie eine Subnetzmaske konfigurieren. Für jede Domäne hat die Persistenz Vorrang vor jeder anderen konfigurierten GSLB-Methode.

So konfigurieren Sie die Persistenz anhand der Quell-IP-Adresse mit der Befehlszeilenschnittstelle

Geben Sie an der Eingabeaufforderung Folgendes ein:

set gslb vserver <name> -persistenceType (SOURCEIP|NONE) -persistenceId <positive_integer> [-persistMask <netmask>] –[timeout <mins>]

Beispiel:

set gslb vserver vserver-GSLB-1 -persistenceType SOURCEIP -persistenceId 23 -persistMask 255.255.255.255 –timeout 2

So konfigurieren Sie die Persistenz anhand der Quell-IP-Adresse mit dem Konfigurationsdienstprogramm

  1. Navigieren Sie zu Traffic Management > GSLB > Virtuelle Server, und doppelklicken Sie auf den virtuellen GSLB-Server, dessen Methode Sie ändern möchten (z. B. vServer-GSLB-1).
  2. Klicken Sie auf den Abschnitt Persistenz, und wählen Sie in der Dropdownliste Persistenz die Option SOURCEIP aus, und legen Sie die folgenden Parameter fest:
    • Persistenz-ID — PersistenzID
    • Timeout — Timeout
    • IPv4-Netzmaske oder IPv6-Maskenlänge — PersistMask

Konfigurieren der Persistenz basierend auf HTTP-Cookies

Die Citrix ADC Appliance bietet Persistenz auf der HTTP-Request-Ebene mithilfe des Verbindungsproxy und der HTTP-Umleitung. Bei diesen Persistenzmethoden verwendet die Appliance ein HTTP-Cookie (bekannt als Site-Cookie), um den Client wieder mit demselben Server zu verbinden. Die Appliance fügt das Site-Cookie in die erste HTTP-Antwort ein.

Das Site-Cookie enthält Informationen über den ausgewählten GSLB-Dienst, auf dem der Client eine dauerhafte Verbindung hat. Der Cookie-Ablauf basiert auf dem Cookie-Zeitlimit, das auf der Citrix ADC Appliance konfiguriert wurde. Wenn die Namen des virtuellen Servers nicht auf allen Sites identisch sind, müssen Sie die Persistenzkennung verwenden. Die eingefügten Cookies entsprechen RFC 2109.

Wenn die Citrix ADC Appliance auf eine Client-DNS-Anforderung reagiert, indem sie die IP-Adresse des ausgewählten GSLB-Sites sendet, sendet der Client eine HTTP-Anforderung an diesen GSLB-Site. Der physische Server in dieser GSLB-Site fügt dem HTTP-Header ein Site-Cookie hinzu, und die Persistenz der Verbindung ist wirksam.

Wenn der DNS-Eintrag im Clientcache abläuft und der Client dann eine andere DNS-Abfrage sendet und an einen anderen GSLB-Site weitergeleitet wird, verwendet die neue GSLB-Site das Site-Cookie, das im Header der Clientanforderung vorhanden ist, um Persistenz zu implementieren. Wenn die GSLB-Konfiguration am neuen Standort Verbindungs-Proxy-Persistenz verwendet, erstellt der neue Standort eine Verbindung mit der GSLB-Site, die das Site-Cookie eingefügt hat, die Clientanforderung an den ursprünglichen Standort weiterleitet, eine Antwort von der ursprünglichen GSLB-Site empfängt, diese Antwort an den Client weiterleitet und die -Verbindung. Wenn die GSLB-Konfiguration HTTP-Umleitungspersistenz verwendet, leitet die neue Site die Anforderung an die Site um, die das Cookie ursprünglich eingefügt hat.

Hinweis: Die Persistenz des Verbindungsproxy kann nur für lokale Dienste konfiguriert werden. Die Persistenz des Verbindungsproxys muss jedoch sowohl auf lokalen als auch auf Remote-GSLB-Diensten aktiviert werden, die für den virtuellen GSLB-Server konfiguriert sind.

Verbindungsproxy tritt auf, wenn die folgenden Bedingungen erfüllt sind:

  • Anfragen werden von einer Domäne gesendet, die an GSLB beteiligt ist. Die Domäne wird aus dem URL/Host-Header abgerufen.
  • Anfragen werden von einem lokalen GSLB-Dienst gesendet, dessen öffentliche IP-Adresse mit der öffentlichen IP-Adresse eines aktiven Dienstes übereinstimmt, der an den virtuellen GSLB-Server gebunden ist.
  • Für den lokalen GSLB-Dienst ist der Verbindungsproxy aktiviert.
  • Die Anforderung enthält ein gültiges Cookie, das die IP-Adresse eines aktiven GSLB-Remote-Dienstes enthält.

Wenn eine der Bedingungen nicht erfüllt ist, tritt der Verbindungsproxy nicht auf, aber ein Site-Cookie wird hinzugefügt, wenn der lokale GSLB-Dienst Verbindungsproxy aktiviert hat UND:

  • Es wird kein Site-Cookie bereitgestellt; Oder,
  • Das Website-Cookie bezieht sich auf eine IP-Adresse, die kein aktiver GSLB-Remote-Dienst ist; Oder,
  • Der Cookie bezieht sich auf die IP-Adresse des virtuellen Servers, auf dem die Anfrage empfangen wird.

Im Folgenden sind die Einschränkungen bei der Verwendung von Verbindungs-Proxy-Site-Cookies aufgeführt:

  • Website-Cookies funktionieren nicht für Nicht-HTTP (S) -Protokolle.
  • Wenn eine HTTP-Anforderung an einen virtuellen Backup-Server gesendet wird, fügt der virtuelle Server kein Cookie hinzu.
  • Site-Cookies funktionieren nicht, wenn SSL-Clientauthentifizierung erforderlich ist.
  • Am lokalen Standort entsprechen die Statistiken für einen GSLB-Dienst auf einem Remotestandort nicht den Statistiken, die für diesen Dienst am Remotestandort aufgezeichnet wurden. Am lokalen Standort sind die Statistiken für einen entfernten GSLB-Dienst etwas höher als die Statistiken, die die Remotestandort für denselben Dienst aufzeichnet.

Weiterleitungspersistenz kann nur verwendet werden:

  • Für HTTP- oder HTTPS-Protokolle.
  • Wenn der Domänenname in der Anforderung vorhanden ist (entweder in der URL oder im HOST-Header) und die Domäne eine GSLB-Domäne ist.
  • Wenn die Anforderung auf einem Backup-VIP oder einem lokalen GSLB-Dienst empfangen wird, der sich im Status Heruntergefahren befindet.

Hinweis:

In einer GSLB-Parent-Child-Konfiguration funktioniert der Verbindungsproxy wie vorgesehen, selbst wenn ein GSLB-Dienst nicht auf einem untergeordneten Standort konfiguriert ist. Wenn Sie jedoch zusätzliche Konfiguration wie Clientauthentifizierung, Client-IP-Adresseneinfügung oder andere SSL-spezifische Anforderungen haben, müssen Sie einen expliziten GSLB-Dienst auf der Site hinzufügen und entsprechend konfigurieren.

Weitere Hinweise zur übergeordneten und untergeordneten Topologie finden Sie unter Bereitstellung der übergeordneten und untergeordneten Topologie mithilfe des MEP-Protokolls.

So setzen Sie die Persistenz basierend auf HTTP-Cookies mit der Befehlszeilenschnittstelle ein

Geben Sie an der Eingabeaufforderung Folgendes ein:

set gslb service <serviceName> -sitePersistence (ConnectionProxy [-sitePrefix <prefix>] | HTTPredirect -sitePrefix <prefix>)

Beispiel:

set gslb service service-GSLB-1 -sitePersistence ConnectionProxy
set gslb service service-GSLB-1 -sitePersistence HTTPRedirect -sitePrefix vserver-GSLB-1

So legen Sie die Persistenz basierend auf Cookies mit dem Konfigurationsdienstprogramm fest

  1. Navigieren Sie zu Traffic Management > GSLB > Services, und wählen Sie den Dienst aus, den Sie für die Standortpersistenz konfigurieren möchten (z. B. Dienst-GSLB-1).
  2. Klicken Sie auf den Abschnitt Site-Persistenz und legen Sie die Persistenz basierend auf Cookies fest.