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")'
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
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
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
… und binden diese Global:
bind transform global transform_policy_MobileDevices 100
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:
Ich wünsche viel Erfolg und wie immer gilt: Das Anwenden dieses Tutorials erfolgt auf eigene Gefahr und unter Ausschluss jeglicher Haftung!