本文操作涉及修改 Windows 注册表,属于高风险操作。在执行任何步骤前,请创建服务器快照或其他方式备份数据,以防操作失误导致数据丢失或业务中断。
IIS crypto 4.6.2 不支持2008系统,需要低版本的IIS crypto支持。
问题现象
在 Windows Server 2008 R2系统的 IIS 服务器上部署 SSL 证书后,使用 Chrome、Edge、Firefox 等现代浏览器访问 HTTPS 站点时,连接失败,浏览器提示 ERR_SSL_VERSION_OR_CIPHER_MISMATCH 错误。但使用旧版 IE 浏览器访问可能正常。

问题原因
此问题的根本原因是服务端操作系统(Windows Server 2008 R2)默认未启用 TLS 1.1 和 TLS 1.2 协议。现代浏览器出于安全考虑,已强制要求使用 TLS 1.2 或更高版本的协议进行 HTTPS 通信。当浏览器与服务器无法协商出双方都支持的安全协议时,连接便会中断并报错。
解决方案
为解决此问题,需要在服务器上启用 TLS 1.1 和 TLS 1.2 协议。提供以下两种方案,推荐使用方案一。
方案一:使用 IIS Crypto 工具一键配置(推荐)
此方案通过图形化工具快速应用行业最佳安全实践,操作简单直观,不易出错,是大多数场景下的首选方案。
下载并运行工具 远程登录到您的 Windows 服务器,从 Nartac Software 官方网站下载 IIS Crypto GUI 版本并以管理员身份运行。
免责声明:IIS Crypto 是第三方工具,请自行评估其安全性。
应用最佳实践配置 此步骤旨在自动启用强安全协议并禁用已知的不安全协议。 a. 在工具主界面,单击 Best Practices 按钮。 b. 在弹出的确认框中,单击 确定。 此操作会自动勾选 TLS 1.1、TLS 1.2 等安全协议,并取消勾选 SSL 2.0、SSL 3.0 等不安全的协议。

应用配置并重启服务器 a. 确认 TLS 1.1 和 TLS 1.2 的 Server 和 Client 复选框均已勾选。 b. 单击 Apply 按钮。 c. 在弹出的重启提示框中,单击 确定,服务器将自动 reboot。服务器必须重启才能使配置生效。

方案二:通过注册表脚本启用
如果服务器环境限制使用第三方工具,可采用此方案通过导入注册表脚本的方式手动启用所需协议。
创建 .reg 注册表文件 此步骤旨在创建一个脚本,用于自动写入启用 TLS 1.1 和 TLS 1.2 所需的注册表项。 a. 在服务器上,新建一个文本文档。 b. 将以下内容完整复制并粘贴到文本文档中。
Windows Registry Editor Version 5.00 [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 [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:00000001c. 将该文件另存为
enable-tls.reg,确保文件后缀为.reg。导入注册表 双击已创建的
enable-tls.reg文件,在弹出的注册表编辑器确认窗口中单击 确定。重启服务器 必须重启服务器才能使注册表修改生效。仅重启 Explorer 进程或 IIS 服务无效。
后续建议
验证配置
重启服务器后,可通过以下任一方式验证问题是否已解决:
浏览器测试:清除浏览器缓存或使用无痕模式,再次访问您的 HTTPS 站点,确认可以正常打开。
在线工具测试:访问 SSL Labs' SSL Test,输入您的域名进行检测。在检测结果的 Configuration > Protocols 部分,确认 TLS 1.2 显示为 "Yes"。
回滚操作
如果在应用修改后出现意外问题,请使用操作前创建的快照或备份进行回滚。这是最安全、最推荐的回滚方式。完成回滚操作后,同样需要重启服务器。