{"id":1651,"date":"2013-08-23T04:22:33","date_gmt":"2013-08-23T04:22:33","guid":{"rendered":"http:\/\/www.atumvirt.com\/?p=1651"},"modified":"2013-08-23T04:22:33","modified_gmt":"2013-08-23T04:22:33","slug":"redirect-citrix-web-interface-services-site-to-storefront-with-rewrite-on-netscaler","status":"publish","type":"post","link":"https:\/\/avtempwp.azurewebsites.net\/2013\/08\/redirect-citrix-web-interface-services-site-to-storefront-with-rewrite-on-netscaler\/","title":{"rendered":"Redirect Citrix Web Interface Services Site to Storefront with Rewrite on Netscaler"},"content":{"rendered":"

Our deployment includes Windows Embedded and Windows ThinPC clients that use the Citrix Desktop Lock to connect to our XenDesktop environment. \u00a0The Citrix Desktop Lock requires a services site, otherwise known as legacy support in Storefront. \u00a0In XenDesktop 5.6, this worked well and we connected to our internal site via HTTP with web interface. \u00a0In Storefront, however, there are some caveats. \u00a0HTTPS is required<\/a> for Receiver to connect to Storefront stores unless you modify a registry setting in receiver. \u00a0Additonally, with Desktop Lock in the mix we cannot simply use a redirect with responder or web interface to direct the clients to the new Storefront URL. \u00a0When Desktop Lock is present, it presents (incorrectly) error 404, not found.<\/p>\n

 <\/p>\n

With that in mind, we decided to address the issue of migrating our clients from web interface (with XD 5.6) to Storefront (with XD 7). \u00a0There are some key discoveries we made while trying to create a rewrite, many of which should be well known to Netscaler admins.<\/p>\n

First, netscaler processing order. \u00a0We were trying to re-write the http.req.host and not seeing anything apparently change. \u00a0For all intents and purposes, the req had already ‘arrived’, so changing the host header wasn’t going to magically send it along its way.<\/p>\n

Second, we must transform the url to match the new Storefront legacy format.
\nThird, we must send this request to the Storefront backend server. \u00a0For testing we did this by modifying which vServer the service sent traffic to, but since we want to retire that vserver, we’ll change DNS to point to the SF vserver in the future.<\/p>\n

Finally, Storefront legacy sites only support one authentication method, and only one legacy site can be configured per store. \u00a0This meant to support our n500 devices and our Windows Embedded Devices (which are configured for passthrough) we needed 2 stores, 2 legacy sites, one with prompt, one with passthrough.<\/p>\n

 <\/p>\n

To configure a rewrite action, enable the feature in netscaler if it is not. \u00a0Create a new policy. \u00a0Assign the expression or one similar shown below.<\/p>\n

\"Web<\/a><\/p>\n

Create an action similar to the one shown below<\/p>\n

\"Web<\/a><\/p>\n

Assign the rewrite policy to the vServer the clients are looking up via DNS<\/p>\n

\"Web<\/a><\/p>\n

\"Web<\/a><\/p>\n

(Optionally) assign this to the storefront vserver and change the DNS record to point to the storefront vserver instead of web interface.<\/p>\n

 <\/p>\n

That is it. \u00a0You should now be able to seamlessly move all of your clients over to your new Store if you need to use the services site!<\/p>\n","protected":false},"excerpt":{"rendered":"

Our deployment includes Windows Embedded and Windows ThinPC clients that use the Citrix Desktop Lock to connect to our XenDesktop environment. \u00a0The Citrix Desktop Lock requires a services site, otherwise known as legacy support in Storefront. \u00a0In XenDesktop 5.6, this worked well and we connected to our internal site via HTTP with web interface. \u00a0In […]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[10,36,77],"tags":[86,88,114,119,122],"_links":{"self":[{"href":"https:\/\/avtempwp.azurewebsites.net\/wp-json\/wp\/v2\/posts\/1651"}],"collection":[{"href":"https:\/\/avtempwp.azurewebsites.net\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/avtempwp.azurewebsites.net\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/avtempwp.azurewebsites.net\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/avtempwp.azurewebsites.net\/wp-json\/wp\/v2\/comments?post=1651"}],"version-history":[{"count":0,"href":"https:\/\/avtempwp.azurewebsites.net\/wp-json\/wp\/v2\/posts\/1651\/revisions"}],"wp:attachment":[{"href":"https:\/\/avtempwp.azurewebsites.net\/wp-json\/wp\/v2\/media?parent=1651"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/avtempwp.azurewebsites.net\/wp-json\/wp\/v2\/categories?post=1651"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/avtempwp.azurewebsites.net\/wp-json\/wp\/v2\/tags?post=1651"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}