The scenario is a MOSS site with HTTP and HTTPS enabled but you want all traffic to go to HTTPS. I thought this would be a fairly simple using IIS but apparently not…
Basically you just change your public URL in Alternate Access Mappings to HTTPS.
Then you go to the properties on your site in IIS and change the TCP port to something other than port 80. I changed mine to port 8001.
Now create a new web site and select the same IP as your SharePoint site and enter the host name as the “host header”. (I’m not sure this is required or why it would be…)
Now go to the “Home Directory” tab of your new site on port 80 and select “A redirection to a URL” and enter the HTTPS address of the SharePoint site.
Now go to your SharePoint site using HTTPS and open the properties. Select the Directory Security tab and click Edit in the Secure Communications section. Check the “Require SSL” and “Require 128-bit encryption”.
You should now be able to go to any address on your site using HTTP and it will automatically forward the browser to the same address using HTTPS.