您的位置:首页 > 理论基础 > 计算机网络

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

2016-03-05 11:47 477 查看
修改以下文件:IIS6.0 路径:C:\WINDOWS\Help\iisHelp\common\403-4.htm

IIS7.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及是否用了反向代理这些。

专业网站加密证书(仅4.8): http://dianziren.taobao.com
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: