tut_rewrite

Geräteabhängiger Login-Screen // NetScaler Gateway

Ich möchte hier in einem kurzen Tutorial aufzeigen, wie der Login-Screen des NetScaler Gateways geräteabhängig gestaltet werden kann. Hierbei werden nur Features verwendet, die in der NetScaler Gateway VPX Lizenz vorhanden sind.

Erforderliche Features aktivieren

Falls noch nicht geschehen ist das Rewrite-Feature zu aktivieren:

enable ns feature REWRITE

Definition der Geräteklassen

Die jeweilige Unterscheidung des zugreifenden Geräts liefert uns der HTTP-Header. Um spätere Richtlinien auf die Geräte anzuwenden werden vorab die entsprechenden Expressions angelegt. Wir beschränken uns in diesem Tutorial auf iPhones und iPads.

Anlegen der Expressions:

add policy expression iPhone 'HTTP.REQ.HEADER("User-Agent").CONTAINS("iPhone")'
add policy expression iPad 'HTTP.REQ.HEADER("User-Agent").CONTAINS("iPad")'

1expressions

Anlegen des Rewrite-Profils

Zuerst definieren wir ein neues URL-Transform-Profil und weisen diesem eine neue Aktion mit der Priorität 50 zu:

add transform profile transform_MobileDevices -type URL -Comment "Leitet Mobile Devices auf mobile.html um."
add transform action redirect_index_mobile transform_MobileDevices 50

2222

Die neu erstellte Aktion “redirect_index_mobile” wird nun konfiguriert:

set transform action redirect_index_mobile -priority 50 
-requrlfrom "https://netscaler.fqdn/vpn/index.html" 
-requrlinto "https://netscaler.fqdm/vpn/mobile.html" 
-resurlfrom "https://netscaler.fqdn/vpn/mobile.html" 
-resUrlinto https://netscaler.fqdn/vpn/index.html

2url

Erstellung der Rewrite-Richtlinie

Nun erstellen wir eine neue URL-Transform-Richtlinie, welche auf die zuvor angelegten Expressions “iPhone” oder “iPad” gefiltert wird…

Add transform policy transform_policy_MobileDevices "iPhone || iPad" transform_MobileDevices

1policy

… und binden diese Global:

bind transform global transform_policy_MobileDevices 100

1bind

Ergebnis

Für alles Devices, die sich im HTTP-Header als iPhone oder iPad zu erkennen geben, wird der konfigurierte Rewrite angewendet und die Seite /mobile.html angezeigt – das Device geht jedoch weiterhin von der /index.html aus (somit kein “simpler” Redirect).

Ab sofort herrscht natürlich künstlerische Freiheit – als Anregung hier ein Screenshot meiner Konfiguration:

iphone

Ich wünsche viel Erfolg und wie immer gilt: Das Anwenden dieses Tutorials erfolgt auf eigene Gefahr und unter Ausschluss jeglicher Haftung!

Nützliche Links

Citrix Receiver Mobile Device URL – Generator