1.安装证书
IIS 使用的是 .pfx / .p12 格式的证书,如果是在阿里云平台的域名,可通过 SSL证书 申请免费的一年期单域名证书。
pfx 证书需要配套的私钥密码,阿里云平台申请的是以 txt 文件形式提供。
申请到证书后,打开 IIS,选中计算机名节点,右侧会出现 服务器证书 项,双击打开。
打开后,在右侧选择导入
在弹窗中,选中证书,并填写证书私钥密码后确定即可。
导入完成后,在服务器证书列表中即可看到新证书
安装证书也可通过双击 pfx 证书添加,但试验中发现,如果按照默认设置,可能出现在 IIS 中找不到证书的问题,建议在证书存储位置的时候选择 本地计算机。
2.启用 HTTPS
在需要启用 HTTPS 的站点上单击右键,选择 编辑绑定
在网站绑定窗口中,点击 添加,在弹出窗口中将 类型 改为 https,并选择导入的证书,并确定。
此时已经启用 HTTPS,如果域名绑定到服务器 IP,即可使用 https://[域名] 访问。本机测试时,可通过在 hosts 文件中添加记录实现访问测试。
3.启用 TLS 1.2
针对 Windows Server 2008 R2 服务器上可能出现的提示 【服务器应启用 TLS 1.2 或更高版本...】,可通过修改注册表修复,详情可参考 这里,找到 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols 右键->新建->项->新建TLS 1.1,TLS 1.2,并分别建立 Server 和 Client 项,添加如下图键值:
禁用老的 SSL 配置:打开HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 2.0\Client 配置如下
修改完成后,重启服务器。
4.强制 HTTP 跳转到 HTTPS
从微软官网下载 IIS 的 URL 重写扩展,下载地址:http://download.microsoft.com/download/1/2/8/128E2E22-C1B9-44A4-BE2A-5859ED1D4592/rewrite_amd64_zh-CN.msi
下载完成后,安装。安装完成后,关闭 IIS 并重新打开,可以发现在站点下,多了一个 URL 重写 功能
选中需要强制 HTTP 跳转 HTTPS 的站点,并双击如图的 URL 重写 功能,在 操作 中点击 添加规则...
如图,在 添加规则 对话框中选择 空白规则,并确定。
此时,在浏览器中输入 http://[域名],将会以 303 的形式跳转到 https://[域名]