没有 SSL 证书,网站就无法正常运行。 如果服务器上没有安装,浏览器就会提示连接不安全。 SSL 证书的问题在于,它们提供了牢不可破的加密,但容易出现各种与技术故障或错误配置有关的错误。
困扰用户的一个常见问题是SSL 握手失败错误代码 525。 在本指南中,我们将解释它是什么以及如何修复 Cloudflare 错误 525。
首先,让我们来看看什么是 SSL 握手。
目录
什么是 SSL 握手?
无需深入探讨 SSL 证书的工作原理,SSL 握手是在浏览器和网络服务器之间建立安全 HTTPS 连接的第一步。 当您在浏览器中加载网站时,后者会向服务器发送加密连接请求。
该过程在后台进行,只需几毫秒。 要想连接成功,浏览器和网站服务器都必须通过一系列检查,如 SSL 证书的版本、加密通信的密码套件等。
没有 SSL 握手,浏览器就无法与服务器建立 HTTPS 连接。 这是一个关键部件,可能会因为各种原因而出现问题。
让我们看看为什么有时 SSL 握手会失败。
什么是 SSL 握手失败错误 525?
525 HTTP 状态代码被称为 “SSL 握手失败”。 该状态代码表明服务器和客户端(可能是网络浏览器或云服务提供商)之间的 SSL/TLS 握手过程出现故障。
在尝试访问使用 HTTPS 的网站时,会启动 SSL/TLS 握手。 这一过程旨在建立用户浏览器与网站服务器之间的安全加密连接。 如果在握手过程中出现问题,可能会导致发生 525 错误。
什么原因导致 SSL 握手失败错误代码 525?
出现SSL 握手失败错误时,意味着浏览器和服务器无法启动安全连接。 在我们的实例中,Cloudflare 错误 525表示使用 Cloudflare CDN(内容分发网络)的域与源服务器之间的 SSL 握手失败。
所有 SSL 错误的棘手之处在于,它们可能发生在客户端,也可能发生在服务器端,而遇到错误的用户不一定能解决它。
以下是客户端出现 Cloudflare 错误 525 的一些潜在原因:
- 连接被第三方拦截。
- 浏览器配置或版本
- 客户计算机上的日期和时间错误。
以下是可能导致错误代码 525 的几个服务器端问题:
- 密码套件不匹配。
- 客户端使用而服务器不支持的协议。
- 证书不完整(例如中间证书丢失)、无效或过期。
如何修复 SSL 握手失败错误?
对于这种特殊的错误代码 525,没有通用的修复方法,因为它可能源于不同的地方。 解决办法是尝试几种方法,直到问题得到解决。
下面我们介绍几种潜在的快速解决方案。
1.检查 SSL 证书的有效性
SSL 证书的有效期为一年。 如果不在到期日前更新,浏览器将无法建立 SSL 握手,并将你的网站标记为不安全。
更新 SSL 证书与申请新证书类似。 您必须向 CA 提交CSR(证书签名请求)并通过验证过程。 要检查证书状态,请单击网站 URL 旁边的挂锁图标,检查证书详细信息。 过期后您就会看到。
您也可以使用免费的外部工具扫描证书,查找潜在的错误和漏洞。 深度扫描可以发现配置中的其他潜在问题。 如果您的证书不再有效或已被吊销,更新证书应该可以解决问题。
2.确保服务器支持 SNI
SNI 是服务器名称指示(Server Name Indication)的缩写,是 TLS(传输层安全)协议的扩展。 它是 SSL 握手过程的一部分,可确保客户端设备看到其试图访问的网站的正确 SSL 证书。 SNI 允许网络服务器为一个 IP 地址托管多个 TLS 证书。
非专业用户可以使用我们在上一种修复方法中提到的 SSL 工具来查看网站是否需要 SNI。 如果显示 “您的网站只能在支持 SNI 的浏览器上运行”,您应该联系主机提供商寻求支持。
技术性更强的方法是使用 Open SSL 实用工具,检查扩展 hello 头中的 “server_name “字段,查看是否显示了正确的证书。 使用 openssl s_client 时,可以使用或不使用 -servername 选项:
无 SNI
$ openssl s_client -connect host:port
使用 SNI
$ openssl s_client -connect host:port -servername host
如果输出是两个同名的不同证书,则 SNI 已启用,SSL 握手失败的罪魁祸首在其他地方。 但是,如果不带 SNI 的呼叫无法建立 SSL 连接,则说明 SNI 已禁用或配置不当。 要解决这个问题,可以更换服务器或改用专用 IP 地址。
3.确保密码套件匹配
SSL 密码或 SSL 密码套件是一套算法或指令,可帮助浏览器和网络服务器安全地相互连接。 当浏览器无法与使用 HTTPS 和 SSL 的网络服务器建立安全连接时,就会出现密码不匹配。 在我们的案例中,您的服务器使用的密码套件不支持或与 Cloudflare 使用的密码套件不匹配,导致 “SSL 握手失败错误”。
密码不匹配的一个可能原因可能是现已过时的 RC4 密码套件。 它已在 Chrome 浏览器第 48 版中移除,但仍可能出现在大型企业系统中,因为这些系统的升级时间显然更长。
要检查可能是哪些密码导致了问题,我们推荐使用QualySSL 的服务器测试。 只需运行快速扫描,并在密码套件部分查找密码详细信息。 如果某些密码器带有 “WEAK “标签,则可能需要更换或尝试本指南中提供的解决方案。
4.更新机器上的日期和时间
如果您计算机上的日期和时间与全球互联网时间服务器不同步,您的浏览器可能会显示 “SSL 握手失败错误”。以下是更新日期和时间的方法:
在 Windows 上:
- 单击 Windows 键,进入控制面板
- 选择时钟和区域
- 在日期和时间下选择 设置时间和日期
- 打开 “互联网时间 “选项卡
- 如果计算机未设置为按计划自动同步,请单击 “更改设置”,然后选中 “与互联网时间服务器同步 “复选框。
如果您使用 Mac:
- 选择 Apple 菜单 > 系统偏好设置,然后单击日期和时间。
- 单击窗口角落的锁定图标,然后输入管理员密码以解锁设置。
- 在 “日期和时间 “窗格中,确保选择了 “自动设置日期和时间“,且 Mac 已连接到互联网。
结论
SSL 错误并不好看,更糟糕的是,你可能要花费一段时间才能找出引发错误的原因。 在这方面,”SSL 握手失败 “错误代码 525 也不例外。 要修复它,你需要通过 SSL 扫描工具检查 SSL 证书是否存在潜在漏洞,并尝试本指南中列出的方法之一。
有关 SSL 错误的更多故障排除,请查看我们有关修复不同 SSL 错误的详细教程。
如果你发现任何不准确的地方,或者你对本 SSL 教程有任何细节需要补充,请随时发送反馈到[email protected]。 如果您能提供意见,我们将不胜感激! 谢谢。
Storyset的互联网插图