1、购买SSL证书,参考:http://www.cnblogs.com/yipu/p/3722135.html
2、IIS7 / IIS 7.5 下绑定 HTTPS 网站(购买Wildcard SSL泛域名证书可绑定多个子域名)参考上文
3、下载安装URL重写模块:Microsoft URL Rewrite Module
4、取消勾选“SSL设置”-》“要求 SSL”
5、ASP.NET站可直接修改web.config(与“6、IIS配置图示”效果相同),例如:见<rewrite>...</rewrite>节点
<?xml version="1.0" encoding="utf-8"?> <configuration> <system.webServer> <rewrite> <rules> <rule name="HTTP to HTTPS redirect" stopProcessing="true"> <match url="(.*)" /> <conditions> <add input="{HTTPS}" pattern="off" ignoreCase="true" /> </conditions> <action type="Redirect" redirectType="Found" url="https://{HTTP_HOST}/{R:1}" /> </rule> </rules> </rewrite> </system.webServer> </configuration>
配置项说明
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="HostNameRule1">
<match url="(.*)" />
<!--匹配所有条件-->
<conditions logicalGrouping="MatchAny">
<!--当不是使用https协议访问的时候-->
<add input="{HTTPS}" pattern="^OFF$" />
<!--并且访问的host不是xxx.com这种,例如www.xxx.com-->
<add input="{HTTP_HOST}" pattern="^xxx\.com$" negate="true" />
</conditions>
<!--跳转到https-->
<action type="Redirect" url="https://xxx.com/{R:1}" />
</rule>
<rule name="HTTPS redirect">
<match url="(.*)" />
<conditions>
<!--当使用HTTPS协议访问-->
<add input="{HTTPS}" pattern="^ON$" />
<!--当访问 https://www.xxx.com的时候 -->
<add input="{HTTP_HOST}" pattern="^xxx\.com$" negate="true" />
</conditions>
<!--跳转到HTTPS-->
<action type="Redirect" url="https://xxx.com/{R:1}" redirectType="SeeOther" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
6、IIS配置图示(图形化的操作过程,与上步效果相同,适用于asp/php等站)
选择要配置的网站,如:,找到“URL重写”,没有的话看上面第3步
进入“URL重写”模块,点击“添加规则”
选择“空白规则”
名称:HTTP to HTTPS redirect
模式:(.*)
条件输入:{HTTP}
模式:off 或 ^OFF$
或
重定向URL:https://{HTTP_HOST}/{R:1}
重定向类型:已找到(302) 或 参阅其它(303)
或
配置完成后“应用”到当前站点:
URL重写配置结果: