自 2010 年以来,CDN 服务 Cloudflare 已协助各种 Web 活动进一步开发更好的性能和安全性。与传统的内容交付网络相比,Cloudflare 不仅作为静态内容的主要支持,而且作为反向代理服务器,充当不一致的与网络服务器交换。因此,缓存的内容并不完全由网站管理员控制;但是,不需要更改源代码,因为您只需要指示 DNS 服务器使用该服务。
使用强大的内容交付网络时,经常会出现一个常见错误:“错误 522:连接超时”。也许这也称为“Cloudflare 错误”,但该问题与 Web 服务的性能没有直接关系。本指南解释了什么是“错误 522”及其原因,以及如何修复它。
什么是错误 522?
如果您的计算机系统以我们简单的语言说出错误 522,它会声明“我们无法连接到源 Web 服务器”。与 Web 上的其他错误页面类似,522 消息是 HTTP 状态消息之一,其中“5”表示服务器错误,后跟“2”表示连接到 Cloudflare 时发生服务器错误。代码 522 说明了“连接超时”,只要 Web 服务器和 Cloudflare 之间的 TCP 握手失败,就会发生这种情况。
握手是创建连接的基础——无论 CDN 服务获得什么,一个需要与服务器协商的客户端请求都变得至关重要。由于 Cloudflare 的广受欢迎和使用,522 连接超时错误现在是标准的浏览器错误消息。
导致 Cloudflare 错误 522 的原因是什么?
与人们所怀疑的不同,发生 522 错误的原因不是 Cloudflare 崩溃,而是服务器端问题。然而,同样地,由于存在大量可比较的 HTTP 错误,因此并不总是可以直截了当地说出错误的来源。在 CDN 服务和到达的 Web 服务器之间建立 TCP 连接时,各种情况都可能导致超时。出现连接超时错误 522 消息的原因有多种:
1. 离线网络服务器
由于访问的 Web 服务器,经常显示 HTTP 错误 522。由于 Web 服务器通过 Web 与 Cloudflare 通信,因此显然不可能进行交换。
2. 原服务器过载
Cloudflare 代表任务的主服务器投入了大量精力。对于来自用户浏览器的特定请求,例如动态内容,CDN 服务器应该联系第一台服务器。同样,与没有 CDN 的常规服务器一样,如果同时处理大量请求,则在构建 TCP 时可能会导致负载过重和超时。
3. 防火墙阻止请求
如果主服务器与其防火墙相关联,则可能会导致 Cloudflare 错误。默认情况下,该服务应该允许演示服务的 IP 位置。但是,在某些情况下,这些地址会被偶然或随意地阻止。因此,无法建立连接。不正确的设置同样可能导致数据包从原始主机网络中被删除。
4. DNS设置错误
主服务器的 IP 地址用于运行 DNS 服务器。对此地址的修改应发送到 CDN,以便服务器可以继续运行。使用了错误的 DNS 设置,因为各种网站因此为托管站点分配了新的网址,并且没有将它们发送到 Cloudflare。
5. 不正确的路由
Cloudflare 应该在遥远的网络范围内工作,以保证网站的性能得到适当增强。由 IP 路由处理并通过所包含的不同网络进一步发送的数据包路径是内容交付系统的基本部分。如果第一台服务器和 Cloudflare 之间存在不一致,这通常会导致连接超时消息。
6. 在服务器端禁用 Keepalive 消息
Cloudflare 利用“保持活动”标题通道来跟上在更长的时间范围内建立连接,进一步提高性能。但是,在任何情况下,如果 HTTP 消息选项显示在 Web 服务器上并被禁用,它将导致连接设置失败,并带来 522 错误。由于大多数普通 Web 服务器默认允许保持连接,因此这是错误的罕见原因,并且通常与网站管理员的设置错误有关。
如何修复错误 522?
如果您负责一个遇到错误 522 的 Web 项目,您应该立即调查原因。在检查上述原因之一是否导致问题之前,最好验证主 Web 服务器是否正在响应 HTTP 请求。没有这个,Cloudflare 和服务器之间的通信是不可想象的,不管所有设置是否正确。如果此快速检查确认 CDN 服务可以按预期访问服务器的资源,则需要进行更彻底的测试以确定错误原因。
您将在下面找到一些解决 522 错误的有希望的解决方案;
1.优化服务器限制
Web 服务器通常会超载,这是错误 522 的主要原因。预测某个随机时间的访问者数量是不可想象的。不规则的负载峰值意味着服务器无法处理 HTTP 请求,因此您应该通过分析注意 Web 项目的流量改善。
软件。每天评估信息以识别瓶颈并增强托管系统的硬件设置。例如,适应性强的云托管安排使您能够精确地扩展资源,因此您可以理想地响应由一天、一周或季节引起的波动。
2.检查IP过滤
要查看您的 Web 服务器是否阻止 Cloudflare 的 IP 地址,您需要检查适当的防火墙设置和其他过滤应用程序,例如表格。Web 地址同样可以在 .htaccess 文档中过滤,因此您还应该检查它们是否有被阻止的 IP。CDN 服务器提供商使用可在官方网站上找到的地址列表。如果其中一个地址在具有类似功能的命名项目或工具中受到保护,则必须打开它以解决错误 522。应用程序自动阻止 IP 地址是很常见的,因此您无需留任何机会并将 Cloudflare 地址列入白名单。
3. 自定义 DNS/IP 设置
假设您的网站依赖于 Web 服务器地址的典型差异,它依赖于您将更改的 IP 转发到 Cloudflare。提供商会自动将这些进展报告给他们的 DNS 服务器。如果发生错误 522,最好调查您的域的 IP 设置。登录到 Web 项目的右侧管理部分并记下 Web 服务器的 IPv4 和 IPv6 地址。然后,此时,切换到 Cloudflare 设置菜单并选择导致错误的区域。选择菜单选项“DNS”,然后在相应的 DNS 记录中输入记录的网址。
4.激活“keepalive”消息
如果 Cloudflare 错误是由于 HTTP 标头设置不正确造成的,则修复起来有些简单。如果关闭“keepalive”或发出的请求较少,您可以在 Web 服务器的不同设置文件中解决此问题,例如,在 Apache 服务器的 httpd.conf 中。在任何情况下,您都拥有合法权利,而共享托管计划通常不是这种情况。在这种情况下,如果您提供的所选软件包的“keepalive”设置仍然存在,您可以选择联系供应商。
5. 联系 Cloudflare 支持
如果 522 错误是由流量路由问题引起的,请联系 Cloudflare 支持。提出一个提及问题的票,确定您之前检查过哪个区域的错误。CDN 提供商推荐使用 MTR 或 traceroute 等工具来获取有关您的 Web 服务器和 Cloudflare IP 之间当前包交换的信息。您可以将结果以文本或图片的形式附加到您的工单上,以加快解决问题的过程。
浏览器用户可以对连接超时错误 522 消息执行什么操作?
HTTP 错误 522 只是一个服务器端问题,如上面的可能原因列表所示。如果您浏览互联网并在访问网站时遇到 522 错误,这不是由错误的插件或互联网连接中断引起的。这也可能意味着您无法直接处理该问题。如果您对网站不满意,建议您稍等片刻,稍后再访问。一般来说,Cloudflare 已经解决了与 Web 服务器的连接问题,并且网站应该可以正常工作。
您也可以联系负责的网站管理员 - 主要是在几次尝试后网站无法运行并显示相同的 Cloudflare 错误时。您可能会获得重要的背景数据,或者会在网站可以再次访问时获得状态。此外,同样可以想象,供应商不知道这个问题,所以无疑值得联系他们。
最后的想法
总而言之,Cloudflare 错误 522 或“连接超时”是用户在浏览时经常遇到的标准错误之一。此错误主要发生在服务器响应回答要求的时间超过预定时间时。此问题的一些常见原因是缺少内存或 CPU、防火墙阻止 IP 地址以及脱机 KeepAlive 标头。遵循主要的三个步骤是理想的;检查你的连接和记忆。确定 Cloudflare 的 DNS 设置并更改您的服务器设置。