此方法可以将:IIS8 通过web.config 使http跳转到https
缺点:此方法仅能实现
http://www.liyunbo.cn 跳转到 https://www.liyunbo.cn
http://liyunbo.cn 跳转到 https://liyunbo.cn
不能实现:
http://www.liyunbo.cn
http://liyunbo.cn
https://liyunbo.cn
均跳转到:https://www.liyunbo.cn
在不少的企业当中,网站设计出于安全的考虑使用了https协议,但同时公司也开放了80协议,不少用户因为输入网址的习惯不喜欢带上https协议,导致访问异常。最近一个客户也要求我帮助解决这个问题,客户的邮件服务器exchange 2010采用https,客户端部署有outlook anywhere,客户现在要求用户访问http://mail.abc.com能够自动跳转到https://mail.abc.com/owa。具体操作如下:
第一步:从微软的官方网站下载HTTP重写模块2.0(这里以64位为例):http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&FamilyID=1b8c7bd8-8824-4408-b8fc-49dc7f951a00;如下图所示:
第二步:在安装exchange 2010 CAS服务器上安装IIS重写模块rewrite_x64,安装完毕之后重启IIS服务,之后打开IIS控制台,发现多了一个组件,如下所示:
第三步:双击“URL重写”,在右边窗体中选择“添加规则”,并添加一个空白规则,如下所示:
第四步:添加以下规则,如图所示:(黄色部分是需要填写或选择的部分)
第五步:继续填写未填写完成的部分,如下所示:
第六步:点击右边空体上方的“应用”。
第七步:添加http_host条件,如下所示:
最后确定完成所有设定,实际上上面的文件是改变了web.config的配置文件内容或者直接在网站根目录新建web.config 粘贴如下代码进去,保存即可,和上面效果一个样
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="http redirect to https" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{HTTPS}" pattern="^OFF$" />
<add input="{HTTPS_HOST}" pattern="^(localhost)" negate="true" />
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}/{R:1}" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
转载请著名来源:天天小站 » IIS8 通过web.config 使http跳转到https