Citrix NetScaler 11 thema aanpassen

Voor het extern aanbieden van Citrix desktops en applicaties aan gebruikers kan NetScaler gebruikt worden. Standaard beschikt NetScaler over een aantal thema’s die gebruikt kunnen worden, zodat het portal er wat beter uit ziet. Veelal willen bedrijven graag een eigen logo op het portal of contact informatie, zodat gebruikers sneller weten op welke website ze zitten en hoe ze contact met de helpdesk kunnen opnemen bij problemen of vragen.

Standaard NetScaler 11 thema aanpassingen

Met de komst van NetScaler 11 hebben er wijzigingen plaats gevonden op het gebied van thema’s aanpassen. Het is nu namelijk mogelijk om in de web interface thema’s aan te passen. Zo is het eenvoudiger gemaakt om onder andere de achtergrond, logo of kleuren van de website te wijzigen.
blog_netscaler-thema
Het invoegen van tekst zoals contactinformatie is wat ingewikkelder, omdat dit niet op dezelfde plek kan, waar ook de achtergrond gewijzigd kan worden. Om dit toch voor elkaar te krijgen kunnen rewrite actions en policies gebruikt worden.

Rewrite actions en policies

Het kan handig zijn dat meerdere bedrijven, klanten of wellicht verschillende afdelingen een eigen URL gebruiken. Als alle URL’s naar dezelfde NetScaler Virtual server verwijzen, dan betekent dit dat iedereen alsnog hetzelfde thema te zien krijgt. Om er toch voor te zorgen dat elke klant of afdeling een eigen inlogpagina krijgt op basis van de gebruikte URL kunnen rewrite actions en policies gebruikt worden.

In de rewrite action wordt aangegeven wat er aangepast moet worden als de rewrite policy matched met de ingestelde criteria. Als voorbeeld zullen we onze contactinformatie toevoegen onderaan het inlog formulier. Zoals in onderstaande afbeelding:
Netscaler 11 login aanpassen

Rewrite Action

De gehele login pagina van de NetScaler wordt opgebouwd met behulp van een aantal JavaScripts. Hier gaan wij ook gebruik van maken met de rewrite action. We zullen namelijk een nieuwe div gaan toevoegen aan een bestaande div die standaard al door de JavaScripts gemaakt wordt.

In de JavaScripts van de NetScaler worden div’s aangemaakt en vervolgens toegevoegd aan een bovenliggende div. Dit ziet er zo uit:

logonbox_container.append(logonbox_innerbox);

Met de Rewrite actie gaan we ook een div toevoegen aan de “logonbox_container”. De expressie die wij gebruiken is als volgt:

"var login_footer=$(\"<div style="text-align: center; color: black; font-size: 15px;">GTS-Online | <a style="color: black;" href="mailto:helpdesk@gtsonline.nl">Helpdesk@gtsonline.nl</a> | +31 (0)318 550 884</div>
\").appendTo(logonbox_container);"

Met bovenstaande expressie wordt een nieuwe variabele aangemaakt met als value de div die wij willen toevoegen. Aan het einde zeggen we vervolgens:  voeg dit toe aan de bestaande div ‘logonbox_container’. Wij hebben ervoor gekozen om de style van de div in de variabele te stoppen, omdat dit voor ons eenvoudiger te regelen was en tevens zijn er bij ons meerdere rewrite actions, waardoor het nu overzichtelijker is. Het is namelijk ook mogelijk om een div ID of class mee te geven waarna in de custom.css de style geconfigureerd kan worden.

Dit doen wij overigens wel voor andere div’s die wij toegevoegd hebben. Dit doen wij alleen niet via een rewrite action, maar hebben we geregeld door het aanpassen van de standaard JavaScript bestanden op de NetScaler. Deze bestanden staan in /netscaler/ns_gui/vpn/js/

#GTS-LOGO{
background-repeat: no-repeat;
display: block;
position: absolute;
}

Rewrite Policy

Om bovenstaande actie op de juiste momenten uit te laten voeren zal een policy met expressie gebruikt moeten worden. Bij ons heeft iedereen dezelfde contactpersonen en gegevens, waardoor wij altijd onze informatie onderaan willen weergeven. Om deze reden is de expressie bij ons ns_true wat betekent dat dit altijd waar is.

Mocht het bijvoorbeeld een rewrite action zijn voor een afbeelding, dan kan het zijn dat de actie niet altijd toegepast moet worden. Hier zou dan gekozen kunnen worden uit een expressie waarbij gekeken wordt naar de hostname. De expressie wordt dan

HTTP.REQ.HOSTNAME.EQ("example.gtsonline.nl")

Als er dan genavigeerd wordt naar example.gtsonline.nl dan wordt de policy met gekoppelde actie uitgevoerd.

Aanpassingen Netscaler Gateway Virtual Server

Als zowel de rewrite action als policy klaar zijn, dan moeten ze nog toegevoegd worden aan de juiste NetScaler Gateway Virtual server. Dit is eenvoudig te regelen door een Rewrite Response Policy toe te voegen aan de server.

Het kan zijn dat het niet meteen te zien is dat de policy toegepast wordt, dit komt door caching. Bij ons lossen we dit op door tijdens maintenance uren een failover van de NetScalers uit te voeren.

Netscaler 11 policies



Wilt u graag een afspraak maken? Dat kan!

Wij ontvangen u met plezier of komen graag bij u op locatie.

Heeft u een vraag?

Vul onderstaand formulier in en wij nemen zo snel mogelijk contact op!



X