Citrix ADC Gateway/Storefront Seite lädt nach Chrome oder Edge Update auf Version 100 nicht

Mit dem Update von Chromium auf die Version 100.0.4896.60 gibt es einen Fehler beim Laden der Gateway/Storefont Seiten in Verbindung mit dem Portal Theme „RfWebUI“. Dabei hängen die User in einer Ladeschleife fest. Seit Microsoft am 31.März die neue Edge Version (mit entsprechender Chromium Engine) veröffentlicht hat, tritt das Problem nochmals deutlicher zu Tage.

Laut unseren ersten Beobachtungen trat das Problem nur mit RfWebUi und einem Browser/ einer Engine Version über 99 im User-Agent Header-String auf.

User-Agent Header neuer Microsoft Edge

Nach der Manipulation des Strings im Browserdebugger (mit der gleichen Chromium 100 Engine) funktionierte der Zugriff sofort wieder.

Manipulierter User-Agent Header

Citrix hat das Problem laut einem kürzlich veröffentlichtem KB-Artikel inzwischen eingegrenzt auf fehlerhafte Expressions in Verbindung mit einem Custom RfWebUI Theme. Im Artikel ist ein permanenter Fix beschrieben:

https://support.citrix.com/article/CTX399433

NetScaler Gateway: SSL-VPN CCU Lizenzen: Limitierung verringert / aufgehoben

Citrix hat es endlich gewagt!

Wir haben schon lange in etlichen internen Runden darauf gedrängt, und auch die ersten positiven Signale (natürlich streng vertraulich) bereits im Sommer zurückbekommen. Und jetzt ist es endlich offiziell: Citrix lockert die SSL-VPN Lizenzierung auf. Bisher konnten wir trotz der Investition in Citrix NetScaler Standard oder Enterprise Lizenzen nur 5 Concurrent User SSL-VPN nutzen. Weitere User mussten separat per NetScaler Gateway Universal License lizenziert werden oder aus XenApp / XenDesktop Platinum übernommen werden. Einzig die NetScaler Platinum Lizenz hat 100 CCU SSL-VPN mitgebracht.

Continue reading „NetScaler Gateway: SSL-VPN CCU Lizenzen: Limitierung verringert / aufgehoben“

Netscaler Gateway: Customizing

Will man nur ein paar Kleinigkeiten am Design der Gateway Logon Page ändern, wie z.B. die Beschriftung der Password-Felder, geht das sehr gut indem man rewrite-Regeln einbaut. Damit erspart man sich die ganze Page als Custom Design implementieren zu müssen und es ist über Reboots und Upgrades persistent.

Ein Beispiel, getestet mit Netscaler 10.1:

add rewrite action AD_replace_rewrite_action replace_all "http.RES.BODY(120000).SET_TEXT_MODE(ignorecase)" "\"AD Password\'\"" -pattern "\"Password\"" -bypassSafetyCheck YES -refineSearch q/extend(50,50).REGEX_SELECT(re![ ]*\'[ ]*\+[ ]*_\(\"Password\"\)[ ]*!)/

add rewrite action OTP_replace_rewrite_action replace_all "http.RES.BODY(120000).SET_TEXT_MODE(ignorecase)" "\"Token Code:\'\"" -pattern "\"Password2\"" -bypassSafetyCheck YES -refineSearch q/extend(50,50).REGEX_SELECT(re![ ]*\'[ ]*\+[ ]*_\(\"Password2\"\)[ ]*!)/

add rewrite action AD_delete_rewrite_action delete_all "http.RES.BODY(120000).SET_TEXT_MODE(ignorecase)" -pattern "document.write(\' 1\');" -bypassSafetyCheck YES

add rewrite policy AD_rewrite_pol "http.req.url.path.endswith(\"vpn/login.js\")" AD_replace_rewrite_action

add rewrite policy OTP_rewrite_pol "http.req.url.path.endswith(\"vpn/login.js\")" OTP_replace_rewrite_action

add rewrite policy AD_delete_pol "http.req.url.path.endswith(\"vpn/login.js\")" AD_delete_rewrite_action

bind rewrite global AD_rewrite_pol 80 NEXT -type RES_OVERRIDE

bind rewrite global OTP_rewrite_pol 90 NEXT -type RES_OVERRIDE

bind rewrite global AD_delete_pol 100 NEXT -type RES_OVERRIDE

Statt einem globalen Binding kann man natürlich auch pro vServer unterschiedliche Anpassungen vornehmen.

Wenn die Anpassungen nicht sofort sichtbar werden ruhig mal prüfen ob der Netscaler Caching aktiviert hat, dies hat mich einige Minuten Fehlersuche gekostet… 😉