[标签]IIS
环境:IIS8.5,具有支持SNI(Server Name Indication)
假设:IIS只有一个外网IP,有两个网站 A 和 B
域名 a.cn,www.a.cn,a.net,www.a.net 指向 A 网站
域名 b.a.cn 指向 B 网站
http 自动转向 https 具体设置:IIS-> SSL设置 :勾选“要求SSL” 忽略“客户证书”
http://a.cn 自动转向 https://a.cn,http://www.a.cn 自动转向 https://www.a.cn
http://a.net 自动转向 https://a.net,http://www.a.net 自动转向 https://www.a.net
http://b.a.cn 自动转向 https://b.a.cn
SSL网站用的证书,提交到web服务器时,安全认证方式:服务器IP+端口,即同一服务器IP的443端口,只能用一个证书。
SNI标准安全认证方式:主机头+端口,即 (主机头=域名)+端口(可以同为443默认端口)
一、获取ssl证书
建议:选择阿里云免费的证书(一个ssl证书只能绑定一个域名)
在阿里云控制台:安全(云盾)->ssl证书->购买证书
品牌:Symantec
保护类型:一个域名
证书类型:免费型 DV SSL
购买数量:3
完成购买(免费,阿里有信用,放心)后点击“SSL证书管理”
未签发页签出现已购买的SSL证书,点击“申请”
填写域名等,前提是阿里云账号已通过实名认证
注意:如SSL证书和域名同是aliyun,选‘系统自动生成’,则aliyun自动在‘域名解析’中生成一条临时验证,‘下一步’验证时,自动验证并且‘签发’。
“域名验证方式”选择“文件验证”(实现容易,帮助清晰,具体验证操作省略):
- 按假设,三个SSL证书(证书名称可能是相同的,绑定时‘查看’以保证与域名一致)分别绑定域名:a.cn,a.net,b.a.cn
- 按提示,下载专有验证文件fileauth.txt拷贝到网站主机目录中:/.well-known/pki-validation(须在命令提示符下,md .well-known),
立即验证后(保证域名可访问,因备案未完成可能引起仅ip能访问!),下一步网站绑定中 选择SSL 注意,多个证书时可能有多个相同的“友好名称”alias
二、在IIS中导入SSL证书
从“SSL证书管理”已签发的证书中下载证书,上传到IIS主机文件夹(自己随意创建)中,解压,内含SSL证书和密码两个文件。
打开IIS-点击主机名-点击右栏IIS框中“服务器证书”,点击右上角“导入”,完成上述三个证书导入。
三、网站绑定
1、http基本绑定

类型(http),IP地址(即本机IP),默认端口(80),主机名(空,即所有http访问的域名)
2、https基本绑定
IIS8中添加的对于SNI“需要服务器名称指示”,实现同一IIS,多个域名绑定各自的SSL证书(多个SSL证书)。

类型(https),IP地址(即本机IP),默认端口(443),主机名(空,即所有http访问的域名),SSL证书(选择对应域名 a.cn 证书),因未填写主机名,不勾选“需要服务器名称指示”(即按IP和端口安全认证)。
因为多个SSL证书的名称都是alias,选择证书后,点击查看以保证域名与证书一致。
3、按域名和端口绑定

类型(https),IP地址(即本机IP),默认端口(443),主机名(域名 a.net),SSL证书(选择对应域名 a.net 证书),必须勾选“需要服务器名称指示”(即按域名和端口安全认证)。
再添加绑定:主机名:www.a.net,SSL证书(选择对应域名 a.net 证书)。
此时,完成了 A 网站四个绑定,测试成功。
4、子域名绑定

类型(http),IP地址(即本机IP),默认端口(80),主机名(域名 b.a.cn)。

类型(https),IP地址(即本机IP),默认端口(443),主机名(域名 b.a.cn),SSL证书(选择对应域名 b.a.cn 证书),必须勾选“需要服务器名称指示”(即按域名和端口安全认证)。
完成了 A 网站和 B 网站共六个绑定,测试成功。
四、http重定向https
设置301将网站地址由 HTTP 迁移到 HTTPS。Google建议url重写实现:
url重写:添加空白入站规则
名称 : HTTPS
匹配URL 模式: (.*)
添加条件: 条件: {HTTPS} 模式: off
操作类型选择:重定向
重定向URL: https://{HTTP_HOST}/{R:1}