如何快速恢复您网站的功能

访问 Internet 上的资源通常涉及向存储资源的服务器中的指定主机发出请求。 这可以通过计算机、智能手机或任何可以访问互联网的设备来完成。

在这种情况下,向服务器请求资源的设备称为客户端,向服务器请求资源称为 HTTP 请求。

HTTP 是管理 Internet 上信息交换的协议或规则。 当客户端向服务器发出资源请求时,我们称它发出了 HTTP 请求。

当客户端向服务器请求资源时,服务器除了在请求成功的情况下发布资源外,还会根据请求的处理方式发布三位数的状态代码。

对资源的请求可以成功,可以重定向,也可以在服务器上找不到资源。 有关向服务器发出的请求的状态的此类信息使用状态代码进行通信。

状态代码有不同的类别,由状态代码中的第一个数字标识。 以1开头的状态码是信息码,表示请求已经收到,并且还在进行中; 以 2 开头的表示客户的请求已被成功接收、理解和接受。

3开头的表示重定向,4开头的表示客户端错误,5开头的表示服务器错误。

有由 HTTP 标准定义的官方状态代码,以及在官方定义的状态代码类上扩展的非官方状态代码。 一种这样的状态代码是 521,这意味着 Web 服务器已关闭。 这是 CloudFlare 反向代理服务使用的非官方状态代码。

反向代理服务器是位于 Web 服务器前面的中间服务器,拦截来自客户端的请求,并将它们传递给 Web 服务器。 这样的体系结构确保没有客户端直接与 Web 服务器通信,并使用它所请求的资源。

反向代理服务器可保护 Web 服务器的身份并增强其可靠性、安全性和性能,并有助于高流量网站的负载平衡。

CloudFlare 的反向代理服务的一个示例是其内容交付网络 (CDN)。 CDN 由地理分布的服务器组成,这些服务器缓存靠近用户物理位置的 Web 内容。 这导致互联网上内容的加载速度更快。

错误 521 Web 服务器已关闭,当客户端试图从拒绝与 Cloudflare 代理的连接的源服务器获取资源时发生。 为了提供客户端请求的内容,Cloudflare 的代理服务在端口 80 或 443 上与具有所请求资源的源服务器建立连接。

有时,源服务器直接拒绝与 Cloudflare 的代理连接,并发回连接被拒绝的错误。 当 Cloudflare 遇到来自源服务器的连接被拒绝错误时,它会导致错误 521 Web 服务器已关闭,这是向发出请求的客户端显示的内容。

错误 521 的原因

尽管错误 521 表示您的源 Web 服务器已关闭,但它并不总是 Web 服务器已关闭的结果,因为还有其他问题可能会导致该错误。 错误 521 的一些潜在原因包括:

  25 个最佳免费视频剪辑应用程序

#1。 您的源 Web 服务器已关闭

如果您从中请求资源的原始 Web 服务器处于脱机状态,Cloudflare 反向代理服务无法与其建立连接。 这反过来会导致错误 521。当源服务器的某些 Web 服务器进程未正常运行时,也可能会发生此类错误,从而导致 Cloudflare 无法与其连接。

#2。 您的源 Web 服务器正在阻止来自 Cloudflare 的请求

Cloudflare 的反向代理服务接受来自客户端的请求,并将它们交给具有请求资源的服务器。 因此,源服务器安全配置或防火墙可能会发现 Cloudflare 的 IP 地址发出过多的资源请求,并将这些请求标记为攻击。

这会导致阻止 Cloudflare 的 IP 地址,使 Cloudflare 无法连接到原始 Web 服务器。 发生这种情况时,它会导致错误 521,即使原始服务器可能工作正常。

#3。 源站配置错误

Cloudflare 的内容分发网络 (CDN) 是一种反向代理服务。 需要正确配置服务器才能使用 CDN。 如果在设置 CDN 时配置错误,客户端在向源服务器发出请求时将收到错误 521。 防火墙被配置为丢弃数据包而不是拒绝连接也会导致错误 521。

#4。 Cloudflare 的 SSL 证书问题

Cloudflare 支持使用安全套接字层 (SSL) 证书对服务器和客户端之间的流量进行加密。 SSL 证书用于验证网站的身份并建立加密连接。

如果网站的 SSL 证书或 Cloudflare 使用的加密模式有问题,源服务器将拒绝连接请求,导致错误 521。

如何修复错误 521

有多种方法可以解决错误 521。其中包括:

#1。 检查源站是否在线

当源服务器离线或关闭时,可能会出现错误 521。 要检查源站是否已启动并运行,请打开终端窗口并与要检查其源站是否在线的站点一起执行 ping 命令。

ping techblik.com.com

如果服务器正在运行,您将收到来自服务器的响应,如下所示:

在这种情况下,techblik.com 的原始服务器已启动并正在运行。 但是,第二台测试服务器在撰写本文时已关闭。 从它那里收到了零个数据包,并且它有 100% 的数据包丢失。 打开网站会出现以下页面,其中显示 502 错误:

  为您的容器设计的 10 个最佳 Docker 托管平台

按 CTRL + C 退出 ping 命令输出。

检查您的服务器是否在线的另一种方法是导航到网站 isitdownrightnow 并输入您要检查的网站。 该站点将告诉您服务器是否正在运行,如下所示:

如果您不熟悉将 Cloudflare 的 CDN 与您的服务器一起使用,请检查以确保您的原始服务器已正确配置为侦听端口 443 并允许 Cloudflare 的 IP 地址访问端口 443。此外,请确保您的防火墙配置正确以避免它丢弃数据包。 这会导致错误 521。

#2。 白名单 Cloudflare 的 IP 地址

错误 521 的另一个原因是 Cloudflare 的 IP 地址被标记为可疑并由于发出许多请求而被阻止。 为了解决这个问题,请与您的托管服务提供商联系,以确保他们没有阻止或限制 Cloudflare 的 IP 地址可以发出的请求。 可以提出的要求。

如果您运行自己的专用服务器,请确保您的防火墙没有阻止 Cloudflare 的 IP 地址。 此外,禁用并卸载 Apache 自定义模块,例如 mod_antiloris 和 mod_reqtimeout,它们会阻止连接超过 22 次的 IP 地址。

#3。 检查正在使用的 SSL 证书或加密模式

根据 SSL 加密模式是否已设置为灵活、完整或严格,Cloudflare 将以不同方式处理源服务器提供给它的 SSL 证书。 这些 Cloudflare 加密模式可用于在 Cloudflare 的反向代理服务和源服务器之间建立连接。

完整或严格模式是最流行的选择或加密模式,因为它们需要 SSL 证书。 使用这些模式时,Cloudflare 需要来自源服务器的有效 SSL 证书。 当您网站的 SSL 证书出现问题时,尤其是在使用严格加密模式时,将出现错误 521。

要克服此问题,请将 Cloudflare 原始证书安装到您的原始服务器或使用来自受信任的证书颁发机构的 SSL 证书。 从严格加密模式切换到完全加密模式也有助于克服错误 521,这是由源服务器的 SSL 证书问题引起的。

  早期采用者的痛苦是真实的,但我们需要它来取得进步

结论

使用内容交付网络(例如 Cloudflare 的 CDN)已成为在互联网上提供内容的一种流行方式。 使用 CDN 可以让 Web 应用程序加载得更快、性能更好,并且变得可靠且更安全地抵御攻击。

使用 Cloudflare 时,您可能会遇到错误 521,这可能表明源服务器存在问题。 在这种情况下,请考虑上面给出的解决方案。 万一它们都失败了,请考虑联系 Cloudflare 的客户服务以获得进一步的帮助。