R33NET BLOG Rotating Header Image

ADC

Netscaler: jsessionid Persistence with AppExpert

Load Balancing mit Persistenz ermöglicht es Ihnen, Client-Anfragen über mehrere Server zu verteilen und zu gewährleisten das ein „User“ einer bestimmten Instanz (Applikation/Realserver) zugeordnet werden kann. So können vorhanden Informationen die in dieser Instanz gespeichert sind weiterhin zu Verfügung gestellt werden. (z.B. ein Warenkorb)

Um die Persistenz anhand eines vom Server ausgestellten Cookies wie „jsessionid“ zu gewährleisten, empfehle ich folgende Konfiguration. Der Vorteil hierbei ist das zwei Situationen abgedeckt werden:

  • Die jsessionid ist in einem Cookie (normal)
  • Die jsessionid ist in der URL (Wird von Applikationen mit Clients die keine Cookies unterstützen verwendet.

Expression:
HTTP.REQ.COOKIE.VALUE("jsessionid") ALT HTTP.REQ.URL.BEFORE_STR("?").AFTER_STR(";jsessionid=") ALT HTTP.REQ.URL.AFTER_STR(";jsessionid=")
Response Expression:
HTTP.RES.SET_COOKIE.COOKIE("jsessionid").VALUE("jsessionid")

Netscaler Syntax hervorheben im Notepad++

Auch wenn das Netscaler Webinterface sehr gut geworden ist (im Vergleich zum Alteon liegen da Welten zwischen) arbeite ich viel auf der cli . Gerade wenn mann mehrere VIPs , Realserver etc anlegt geht das um einiges schneller über die cli. Wer also viel in der Konfiguration sucht, ändert oder bearbeitet dem kann ich nur empfehlen mit dem Syntax highlighting zu arbeiten (siehe Bilder unten).  Ich arbeite schon immer mit dem Notepad++, ich kenne keinen besseren Editor. Die grundlegenden Keywords habe ich von Kenny Baldwin übernommen und bereits einige fehlende hinzugefügt. Sollte mir (oder euch) noch was auffallen werde ich das nachpflegen.

Hier die aktuelle Version [Stand 29.02.2016] : Netscaler.xml

Changelog
29.02.2016: Keyword2 – http tcp
In Notepadd++ unter „Sprachen“ -> „Eigene Sprache definieren“ -> „Importieren“

ohne

mit

notelang