I recently received a request to catch all requests on HTTP and redirect the user to the exact same URL that was requested but over SSL (HTTPS) instead. You can do this using a Responder Policy.
Basically the action to redirect over SSL will be:
"HTTP/1.1 301 Moved Permanently\r\n" + "Location: https://" + HTTP.REQ.HOSTNAME + HTTP.REQ.URL.PATH + "\r\n"
Make sure to Bypass the Safety check or it will give you an Input Expression is unsafe error. Don't worry, this is just a warning message. The Netscaler tries to resolve URLs to make sure they respond when you write an expression. In this case we are telling it to catch any URL. So since it can't validate something general like this, it throws the expression error. Make sure to bypass the safety check to get around this.
The responder policy that calls the action by looking for non-SSL connections should be:
!CLIENT.SSL.IS_SSL
You will notice I specified a 301 redirect in my action because I want to make sure any search engine spiders index my site URL as "https://www.mywebsite.com" and not as "http://www.mywebsite.com" for SEO purposes.
You may or may not want to bind the policy globally. I only apply responder policies to vservers that need them just to be cautious.

Jason Samuel
Product leader, advisor, and international speaker with 27+ years in enterprise end-user computing, security, and cloud. Has deployed infrastructure at Fortune 500 scale across 34 countries. 1 of 3 people globally to hold Citrix CTP + VMware vExpert + VMware EUC Champion concurrently. 200+ articles, 1,000+ reader discussions.
Previous Comments (4)
> set rewrite action insertact -bypassSafetyCheck YES
Done
> show rewrite action insertact
Name: insertact
Operation: insert_http_header Target:Client-IP
Value:CLIENT.IP.SRC
BypassSafetyCheck : YES
Hits: 0
Undef Hits: 0
Action Reference Count: 2
DoneTo globally bind a responder policy by using the configuration utility In the navigation pane, expand Responder, and then click Policies. On the Responder Policies page, select a responder policy, and then click Policy Manager. In the Responder Policy Manager dialog box Bind Points menu, select Default Global. Click Insert Policy to insert a new row and display a drop-down list of all unbound responder policies. Click one of the policies on the list. That policy is inserted into the list of globally bound responder policies. Click Apply Changes. Click Close. A message appears in the status bar, stating that the configuration has been successfully completed. To bind a responder policy to a specific virtual server by using the configuration utility In the navigation pane, expand Load Balancing, and then click Virtual Servers. On the Load Balancing Virtual Servers page, select the virtual server to which you want to bind the responder policy, and then click Open. In the Configure Virtual Server (Load Balancing) dialog box, select the Policies tab, which displays a list of all policies configured on your NetScaler appliance. Select the check box next to the name of the policy you want to bind to this virtual server. Click OK. A message appears in the status bar, stating that the configuration has been successfully completed.