IIS 多站点HTTPS加密及自动http跳转到https

修改以下文件:IIS6.0 路径:C:\WINDOWS\Help\iisHelp\common\403-4.htmIIS7.0以上 路径:C:\inetpub\custerr\zh-CN\403.htm为以下内容<HTML><HEAD><TITLE>该页必须通过安全通道查看</TITLE><META HTTP-EQUIV=”Content-Type” Content=”text/html; charset=GB2312″></HEAD><BODY><script type="text/javascript">var url = window.location.href;if (url.indexOf("https") < 0) {url = url.replace("http:", "https:");window.location.replace(url);}</script></BODY></HTML>注释:IIS6中,站点属性-》目录安全性-》编辑中把“要求安全通道(SSL)”勾选上即可。IIS7、8中,SSL设置-》把“要求SSL”勾选即可。

URL重写方式:

下载安装URL重写模块:Microsoft URL Rewrite Module

32位:http://download.microsoft.com/download/4/9/C/49CD28DB-4AA6-4A51-9437-AA001221F606/rewrite_x86_zh-CN.msi

64位:http://download.microsoft.com/download/4/E/7/4E7ECE9A-DF55-4F90-A354-B497072BDE0A/rewrite_x64_zh-CN.msi

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>

默认情况一个服务器的IIS只能绑定一个HTTPS也就是443端口

要实现多个站点对应HTTPS只能更改IIS配置

地址:C:\Windows\system32\inetsrv\config\applicationHost.config、

默认一个站点带一个这样的配置

<binding protocol="https" bindingInformation="*:443" />

修改成:

<binding protocol="https" bindingInformation="*:443:www.baidu.om" />

切记需要对应的每个站点都修改。

最后,如果服务器本地可以访问HTTPS外网不行则要考虑是网防火墙没开放443及是否用了反向代理这些。

无神的瞳孔,我迫切想逃离这周遭被钢筋混凝土堆架的城市,

IIS 多站点HTTPS加密及自动http跳转到https

相关文章:

你感兴趣的文章:

标签云: