Loading... > 本文主要讲述 Window Server 服务器 IIS 部署 SSL 证书启用 TLS1.2 Https 安全传输 # HTTPS ? HTTPS (全称:`Hyper Text Transfer Protocol over SecureSocket Layer` ),是以安全为目标的 HTTP 通道,在 HTTP 的基础上通过传输加密和身份认证保证了传输过程的安全性。 # SSL 证书 ? SSL 证书是数字证书的一种,类似于驾驶证、护照和营业执照的电子副本。因为配置在服务器上,也称为 SSL 服务器证书。 SSL 证书就是遵守 SSL 协议,由受信任的数字证书颁发机构 CA,在验证服务器身份后颁发,具有服务器身份验证和数据传输加密功能。 # TLS ? 传输层安全性协议(英语:Transport Layer Security,缩写作 TLS),及其前身安全套接层(Secure Sockets Layer,缩写作 SSL)是一种安全协议,目的是为互联网通信提供安全及数据完整性保障。 # 为什么要开启 TLS1.2 ? TLS 1.0 TLS 1.1 在计算 finish 时,进行的是 MD5+ SHA1 组合方式运算,而在 TLS 1.2 下,摘要算法变成了单次 SHA256 。 ## 不开启会提示相关安全性不合规 ### 会提示 PCI DSS 支付卡行业安全标准 不合规。  ### 会提示 Apple ATS 不合规。  HTTPS 安全可在 [Chinaz 站长](http://stool.chinaz.com/https/default.aspx) 页面检测。 ### 浏览器会提示 过时的安全设置 ``` Connection - obsolete connection settings The connection to this site is encrypted and authenticated using TLS 1.2, ECDHE_RSA with P-384, and AES_256_CBC with HMAC-SHA1. AES_256_CBC is obsolete. Enable an AES-GCM-based cipher suite. ```  # 了解完了,开始操作。 ## 部署 由正规机构颁发的 SSL 证书(以阿里云为例) ### 进入 aliyun 证书管理控制台,下载对应(IIS)证书 解压 SSL 证书会得到如下两个文件。 `3684231_blog.dwtowen.com.pfx` 证书文件。 `pfx-password.txt` 证书密码文件。  ### 安装证书 **友情提示**: 每次下载都会产生新密码,该密码仅匹配本次下载的证书。如果需要更新证书文件,同时也要更新密码。 申请证书时如果没有选择系统创建 CSR,则没有该文件,请选择其它服务器下载。crt 文件,利用 openssl 命令自己生成 pfx 证书。 #### IIS6 ( 1 ) 证书导入 • 开始 -〉运行 -〉MMC; • 启动控制台程序,选择菜单“文件”中的”添加 / 删除管理单元”-> “添加”,从“可用的独立管理单元”列表中选择“证书”-> 选择“计算机帐户”; • 在控制台的左侧显示证书树形列表,选择“个人”->“证书”,右键单击,选择“所有任务”-〉”导入”, 根据”证书导入向导”的提示,导入 PFX 文件(此过程当中有一步非常重要: “根据证书内容自动选择存储区”)。 • 安装过程当中需要输入密码为您当时设置的密码。导入成功后,可以看到证书信息。 ( 2 ) 分配服务器证书。 #### IIS7/IIS8 ( 1 ) 证书导入 • 开始 -〉运行 -〉MMC; • 启动控制台程序,选择菜单“文件”中的”添加 / 删除管理单元”-> “添加”,从“可用的独立管理单元”列表中选择“证书”-> 选择“计算机帐户”; • 在控制台的左侧显示证书树形列表,选择“个人”->“证书”,右键单击,选择“所有任务”-〉”导入”, 根据”证书导入向导”的提示,导入 PFX 文件(此过程当中有一步非常重要: “根据证书内容自动选择存储区”)。安装过程当中需要输入密码为您当时设置的密码。导入成功后,可以看到证书信息。 ( 2 ) 分配服务器证书 • 打开 IIS8.0 管理器面板,找到待部署证书的站点,单击“绑定”。 • 设置参数选择“绑定”->“添加”->“类型选择 https” ->“端口 443” ->“ssl 证书【导入的证书名称】” ->“确定”。 SSL 缺省端口为 443 端口,请不要随便修改。如果您使用其他端口,如:8443,则访问时必须输入:https://www.domain.com:8443 。 ### http 自动跳转 https 1. 首先需要安装 IIS UTL 重写模块。 下载地址:[微软官方下载地址](https://www.microsoft.com/zh-cn/download/details.aspx?id=7435) 安装 如果报错  Win + R 运行 `regedit` 注册表编辑器,修改对应值。    原值为 10,十进制改成 9,然后再安装就可安装了。安装完成,改回注册表值:10。  安装完成后,重启 IIS 就可以看到,已经安装成功了。 2. http 自动跳转 https http 自动跳转 https 两种方法 方法一:是直接在IIS一步步添加配置(自行冲浪); 方法二:是直接在配置文件中添加配置代码。 这里推荐使用方法二(我这里已经配置好了,直接 copy 代码) 打开 IIS 站点配置文件 `Web.config` 添加配置。 ```html <system.webServer> <rewrite> <rules> <rule name="Redirect to https" stopProcessing="true"> <match url="(.*)" /> <conditions> <add input="{HTTPS}" pattern="^OFF$" /> <add input="{HTTPS_HOST}" pattern="^(localhost)" negate="true" /> </conditions> <action type="Redirect" url="https://{HTTP_HOST}/{R:1}" redirectType="SeeOther" /> </rule> </rules> </rewrite> </system.webServer> ```  这样,你就可以直接以 https 的方式访问你的站点了。 其他部署详细 可参考 [阿里云 SSL 证书部署 Docs](https://help.aliyun.com/document_detail/98737.html?spm=a2c4g.11186623.6.583.2cfb1a6dMeA8mz) ## 开启 TLS 1.2 ### 两种方法 #### 方法一 修改注册表 这里可直接新建一个 `.reg` 文件。如 命名为 `TLS1.2.reg` 然后 Copy 一下内容 到 新建的 reg 文件中,保存。 ```bash Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols] [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 2.0] [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 2.0\Client] "DisabledByDefault"=dword:00000000 "Enabled"=dword:00000000 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2] [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client] "DisabledByDefault"=dword:00000000 "Enabled"=dword:00000001 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server] "DisabledByDefault"=dword:00000000 "Enabled"=dword:00000001 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1] [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Client] "DisabledByDefault"=dword:00000000 "Enabled"=dword:00000001 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Server] "DisabledByDefault"=dword:00000000 "Enabled"=dword:00000001 ``` 双击 `TLS1.2.reg` 文件,将以上配置添加到注册表。 ### 方法二 通过 IISCrypto.exe 工具直接修改。 ### 下载 IISCrypto.exe 下载地址:[官方下载地址](https://www.nartac.com/Products/IISCrypto/Download)  点击 Download 下载。 运行 `IISCrypto.exe` 按如图配置完成修改。  到这里,恭喜你,已经配置完成了,你的网站 已经启用 `HTTPS` 并且支持 `SSL/TLS` 、`PCI DSS` 支付卡行业安全标准 和 `Apple ATS` 规范了。 # 完工检查    End, Thanks! ♐ 最后修改:2020 年 09 月 29 日 02 : 40 PM © 允许规范转载 赞赏 如果觉得我的文章对你有用,请随意赞赏 ×Close 赞赏作者 扫一扫支付 支付宝支付 微信支付