I have been having one of the most frustrating days in my entire IT career. I am trying to install an SSL certificate on a subdomain in a web farm.
http://shop.mydomain.com needs to ALWAYS be forced to https://shop.mydomain.com
I have a temporary cert issued from verisign on shop.mydomain.com
I have installed the cert on the server.
The website for shop.mydomain.com is set as a host header in IIS with the DNS entry pointed to the same IP as mydomain.com - which is our load balancer. I actually have 2 load balancers (as needed by our ISP). One redirects all traffic on port 80 out to the different servers on port 80. The other pushes out port 443 to the servers on port 443.
shop.mydomain.com is to be the only site protected by SSL at this time.
When I add the binding and I navigate to https://shop.mydomain.com it pops up with a warning about the cert being invalid (assumed because this is a test cert), and then it sends the user to http.
So, I checked the box "Require SSL and it redirects to http://shop.mydomain.com/default.aspx and displayes an ASP.NET 404 error message. (not the IIS 404 error)
I tried removing the binding on the site to port 80 as well with no luck.
I am nearly ready to crawl under my desk into the fetal position. How on earth do I make this work? I can't even get it to work on one machine, let alone in the load balanced environment.
I'm not sure why it is redirecting from https to http but you can configure it to do the opposite using these instructions.
The problem ended up being in the code. The developer was trying to do IIS's job for it. 2 days, wasted. Thanks for help on this.