如何执行/redirectHTTP到HTTPS

在过去的3到4年中,我一直在Win2003服务器上托pipe一个域,但现在我只需要通过HTTPS访问这个域。

我已经正确地安装了证书,它工作正常(服务器托pipe多个域名,但是这个域名托pipe在一个不同的公共IP地址),但我努力让IIS只是转移所有用户谁去http:/ / /www.example.com到https://www.example.com 。

我在IIS中find了“需要安全通道”的选项,但是检查这个结果会导致任何无法inputhttps://部分的用户看到一条错误消息(如下)。 将用户redirect到HTTPS站点的最佳方式是什么(用户不必担心)?

必须通过安全通道查看页面您尝试访问的页面使用安全套接字层(SSL)进行保护。

请尝试以下操作:

在您尝试访问的地址的开头键入https://,然后按Enter。

HTTP错误403.4 – 禁止:需要SSL才能查看此资源。

使用IIS将HTTPredirect到HTTPS

启用S​​SL后,无论何时尝试通过http访问页面,服务器都会生成403.4错误。 IIS现在configuration为每次发生此错误时运行您的sslredirect.asp页面。 错误页面将包含查询string,其中包含错误号和导致错误的页面,即“403; http://www.whatever.com ”。 我们的ASP文件使用一个简单的脚本来修剪起始部分(430; http),添加必要的“https”,并redirect到用户使用SSL请求的任何页面。 瞧!

最简洁的方法是安装一个mod重写isapifilter。 并将所有的http调用redirect到https(或者如果您愿意的话,也可以只用于特定的文件夹/页面)。

http://www.isapirewrite.com/

这里有一篇文章解释了如何做到这一点+提到其他人的build议。 http://www.iis-aid.com/articles/how_to_guides/three_methods_redirect_http_https

查阅Microsoft知识库文章如何将HTTP连接redirect到Outlook Web Access客户端的HTTPS,以及如何将默认网站redirect到Exchange虚拟目录 。

有几个步骤来正确configuration它; 代码是:

 <% If Request.ServerVariables("HTTPS") = "off" Then Response.Redirect "https://" & Request.ServerVariables("HTTP_HOST") & "/Exchange" End If %> 

让你的发布防火墙做redirect。 打电话到达没有业务处理的实际Web服务器似乎是不必要的,甚至可能构成安全风险。