IIS HTTP重定向到HTTPS


在不少的企业当中,网站设计出于安全的考虑使用了https协议,但同时公司也开放了80协议,不少用户因为输入网址的习惯不喜欢带上https协议,导致访问异常。最近一个客户也要求我帮助解决这个问题,客户的邮件服务器exchange 2010采用https,客户端部署有outlook anywhere,客户现要求用户在访问 http://neic.top的时候能够自动跳转到https://neic.top。具体操作如下:
首先查看IIS是否已安装HTTP重写模块2.0
第一步:从微软的官方网站下载HTTP重写模块2.0(这里以64位为例):http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&FamilyID=1b8c7bd8-8824-4408-b8fc-49dc7f951a00;如下图所示:

HTTP重定向到1

第二步:在安装exchange 2010 CAS服务器上安装IIS重写模块rewrite_x64,安装完毕之后重启IIS服务,之后打开IIS控制台,发现多了一个组件,如下所示:

第二步:在安装exchange 2010 CAS服务器上安装IIS重写模块rewrite_x64,安装完毕之后重启IIS服务,之后打开IIS控制台,发现多了一个组件,如下所示:

HTTP重定向到2

第三步:双击“URL重写”,在右边窗体中选择“添加规则”,并添加一个空白规则,如下所示:

HTTP重定向到3

第四步:添加以下规则,如图所示:

HTTP重定向到4

第五步:继续填写未填写完成的部分,如下所示:

HTTP重定向到5

第六步:点击右边空体上方的“应用”。

HTTP重定向到6

第七步:添加http_host条件,如下所示:

HTTP重定向到7

实际上就是修改web.config文件
总结就是
注意首先要安装url重定向模块
https://www.microsoft.com/zh-CN/download/details.aspx?id=7435
然后在web.config末尾添加如下代码
<rules>
<rule name="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}" redirectType="SeeOther" />
</rule>
</rules>

声明:Rst网络小组|版权所有,违者必究|如未注明,均为原创|本网站采用BY-NC-SA协议进行授权

转载:转载请注明原文链接 - IIS HTTP重定向到HTTPS


Carpe Diem and Do what I like