什么是 ERR_SSL_VERSION_OR_CIPHER_MISMATCH 错误?
如果您在某人的网站上遇到 ERR_SSL_VERSION_OR_CIPHER_MISMATCH 错误并且想知道它是什么,或者更好的是,正在您自己的网站上遇到它并想知道您可以做些什么来解决这个问题 – 你来对了地方。
什么是 ERR_SSL_VERSION_OR_CIPHER_MISMATCH 错误?
ERR_SSL_VERSION_OR_CIPHER_MISMATCH 是一种相对常见的 SSL 错误,当 Web 浏览器无法与网站建立安全连接时会发生这种错误。
![ERR_SSL_VERSION_OR_CIPHER_MISMATCH 显示错误](https://blog.runcloud.io/wp-content/uploads/2021/12/ERR_SSL_VERSION_OR_CIPHER_MISMATCH-display-error.png)
该错误可能发生在任何网络浏览器中——无论是 Firefox、Google Chrome 还是 Microsoft Edge。 当网站访问者尝试通过使用 SSL/HTTPS 连接到托管您网站的服务器来连接到您的网站时,会采取各种步骤来确保安全建立此连接:
- 解密
- TLS 握手
- 通过证书颁发机构 (CA)验证 SSL 证书
如果上述任何步骤未正确执行,都可能导致 ERR_SSL_VERSION_OR_CIPHER_MISMATCH 错误。 那么,什么会导致您的站点或其他人的站点出现 ERR_SSL_VERSION_OR_CIPHER_MISMATCH 错误?
是什么导致了 ERR_SSL_VERSION_OR_CIPHER_MISMATCH 错误?
ERR_SSL_VERSION_OR_CIPHER_MISMATCH 错误仅发生在使用HTTPS 加密和 SSL 证书来保护访问和信息交换的网站上。这些网站通常在 URL 栏中有一个锁图标。ERR_SSL_VERSION_OR_CIPHER_MISMATCH 错误通常发生的另一个原因是由于使用旧的网络浏览器或操作系统。
为了进一步分解,让我们分解错误的名称:
- SSL 自创建以来有多个版本
- 密码是一组规则、指令或算法,用于确定如何建立安全连接
因此,当错误发生时,实际问题出在哪里是不言自明的——SSL 版本不匹配,或者密码无法在您和网络服务器之间建立安全连接,因为您没有使用相同的密码。
其他可能导致 ERR_SSL_VERSION_OR_CIPHER_MISMATCH 错误的原因是:
- 服务器端问题
- 您的 SSL 证书的问题
- 证书名称不匹配
- 未使用最新版本的 TLS
- RC4密码套件的使用
- 客户端问题
- 使用旧版本的操作系统或网络浏览器
- QUIC协议的使用
- 防病毒软件的设置会干扰浏览器的默认安全设置。
- SSL 状态未更新
如前所述,所有问题都会成为 ERR_SSL_VERSION_OR_CIPHER_MISMATCH 错误的原因。但是,它们很容易修复,这将在下一节中讨论。
如何修复 ERR_SSL_VERSION_OR_CIPHER_MISMATCH 错误?
让我们看看每一个原因以及您可以采取哪些措施来解决这些问题。
服务器端问题
要检查错误是否来自服务器端,您需要查看以下内容:
检查 SSL 证书
确保您的SSL 证书正确并由受信任的 CA 颁发,您可以从免费的 SSL 证书检查器进行检查,并且只需几分钟即可在您的 Web 服务器上扫描您网站的 SSL/TLS 配置。
您可以使用Qualys SSL Labs检查您的 SSL 证书。
- 转到该网站并单击“测试您的服务器”。
- 在给定的字段中,输入您的主机名并按回车键。
几秒钟后,您可以看到有关您的 SSL 证书的所有信息,以确保证书的一切都没有问题。
![qualys ssl labs 服务器测试结果](https://blog.runcloud.io/wp-content/uploads/2021/12/qualys-ssl-labs-server-test-results.png)
如果出现问题并且您的 SSL 证书不正确,我们建议您切换到来自受信任的 CA 的 SSL 证书。
证书名称不匹配
检查证书中的名称是否有误。重要的是要查看域名和证书上的名称是否相同。根据SSL 实验室,不匹配的其他原因是:
- 该网站使用不支持 SSL 的内容交付系统。
- 该网站不使用 SSL,但 IP 地址与其他网站共享。
- 该网站不可用,但域仍然提到旧 IP 地址,那里有其他网站。
检查证书名称不匹配的一种方法是通过Chrome DevTools,您可以通过以下方式进行:
- 右键单击该网站。
- 转到检查 → 安全选项卡 → 查看证书。
这将显示证书的所有必需详细信息。如果信息不匹配,则证书存在问题。有时,该错误不允许您进入 Chrome DevTools,进一步确认证书中的问题。
使用最新版本的 TLS
无论使用的是旧版还是不受支持的 TLS 版本,托管服务提供商通常都会使用 TLS 1.2 版或更高版本。无论如何,请检查 TLS 版本并查看向后兼容性,因为某些用户可能正在使用支持旧版本 TLS 的旧操作系统。
可以通过从 SSL 实验室转到服务器测试结果来检查最新的 TLS 版本。在网站评分下方,您可以看到您的网站支持的 TLS 版本。
此外,您的服务器可能支持 TLS 1.3,但未启用。您可以通过在 Chrome 浏览器的地址栏中输入“chrome://flags”来找到相同的内容。它将显示 Chrome 实验页面,在搜索栏中输入“TLS 1.3”。搜索结果将显示本地锚点的 TLS 1.3 加固,您需要在下拉菜单中选择启用按钮。重新启动浏览器并再次访问该网站。
验证 RC4 密码套件
RC4 cipher 是现代浏览器不支持的旧加密工具。如果您的网站仍针对 RC4 配置,您可能会在最新的浏览器上遇到 ERR_SSL_VERSION_OR_CIPHER_MISMATCH 错误。
为避免该错误,请将您的网站从 RC4 移出或禁用它并添加 TLS 1.3 协议,您可以通过转到 SSL 实验室的配置页面并检查密码套件下列出的内容来执行此操作。通常,应该在那里列出 TLS 1.3 协议而不是 RC4。但是如果列出了 RC4,它将以红色显示,您可以在协议详细信息部分下禁用它。
客户端问题
如果您的客户使用旧的网络浏览器或操作系统,他们可能会遇到 ERR_SSL_VERSION_OR_CIPHER_MISMATCH 错误。可以通过以下方式避免错误:
更新 Web 浏览器和操作系统
旧的网络浏览器或操作系统不支持 TLS 1.3 版本,因此会出现 SSL 错误。因此,建议使用最新的操作系统和网络浏览器。
在这里,我们将向您展示如何更新 Chrome 浏览器。如果您使用不同的浏览器,这些步骤将是相似的。
![更新谷歌浏览器](https://blog.runcloud.io/wp-content/uploads/2021/12/update-google-chrome.png)
要更新 Chrome 浏览器:
- 单击三个垂直点 → 帮助 → 关于 Chrome
- “关于 Chrome”页面会显示您使用的是最新的网络版本还是需要更新
- 如果需要更新,请单击更新按钮。Chrome 更新后,重新启动网络浏览器并再次访问该网站
禁用 QUIC 协议
QUIC(快速 UDP 互联网连接)协议是 HTTP2、TLS/SSL 和其他安全协议的流行替代方案。它是 Google 的实验项目,通过用户数据报协议 (UDP) 发送简单的数据包,而无需使用任何连接。
但是,使用 QUIC 协议可能会导致 ERR_SSL_VERSION_OR_CIPHER_MISMATCH 错误,您可以通过将其关闭来避免这种情况。您可以按照给定的步骤禁用 QUIC 协议:
- 在新 Chrome 选项卡的地址栏中,输入“chrome://flags”,这将带您进入实验页面
- 在那里,在搜索栏中输入“quic”,它将显示与“quic”相关的所有搜索
- 在前几次搜索中,您会找到“Experimental QUIC Protocol”。在它旁边,单击下拉菜单中的禁用按钮
- 重新启动计算机。将应用更改,您可以访问该网站。
![禁用 quic 协议](https://blog.runcloud.io/wp-content/uploads/2021/12/disable-quic-protocol-1024x386.png)
暂时关闭杀毒软件
防病毒软件使用它们的证书在网络和浏览器之间创建了一个层,从而导致网站设置出现问题。此外,它们具有成为 ERR_SSL_VERSION_OR_CIPHER_MISMATCH 错误的原因的 SSL/HTTPS 保护功能。因此,为避免此问题,您可以暂时关闭防病毒软件。
将您的防病毒软件禁用几分钟或一个小时,这样您就可以对其进行测试。禁用它后,请尝试打开遇到问题的网站。
如果问题仍然存在,那么您的防病毒软件不是导致问题的原因。但是,如果您能够打开网站而不会遇到此错误,请考虑禁用 HTTPS 扫描功能或选择其他防病毒程序。
清除计算机的 SSL 状态。
有时您的计算机 SSL 状态存储不再需要的旧 SSL 证书,这也可能成为 ERR_SSL_VERSION_OR_CIPHER_MISMATCH 错误的情况。
您可以按照给定的步骤清除 Windows 中的 SSL 状态:
- 在搜索栏中输入“Internet Properties”
- 打开“Internet 属性”或“Internet 选项”框后,转到“内容”选项卡
- 单击“清除 SSL 状态”
![清除 ssl 状态](https://blog.runcloud.io/wp-content/uploads/2021/12/clear-ssl-state.png)
这将清除旧的 SSL 证书,并在您返回 Chrome 访问网站后获取新证书。
如果 ERR_SSL_VERSION_OR_CIPHER_MISMATCH 错误仍然存在怎么办?
即使在检查了上述所有解决方案之后,如果您仍然遇到 ERR_SSL_VERSION_OR_CIPHER_MISMATCH 错误,请尝试:
- 重置计算机的日期和时间。
- 从您的网络浏览器中删除所有 cookie 和缓存。
- 升级您的操作系统。
- 或者,尝试使用不同的设备。
有时,没有更新系统也会导致此问题。但升级您的网络浏览器并重置计算机的日期/时间将修复该错误。
结论
遇到 SSL 错误无疑是一件令人不快的事情——尤其是当它是针对您自己的网站时。我们希望本指南能帮助您深入了解今天遇到的 SSL 错误。