522错误意味着我们无法在所有到达原点Web服务器。

这方面有几个主要原因:

  • 原始服务器太超载回应。
  • 源Web服务器具有挡住了我们的请求的防火墙,或者数据包被主机的网络内下降。
  • 源Web服务器脱机,或与我们不正确的DNS设置为它的IP地址设置(即离我们的要求是送错了地方)。
  • 还有我们和原始Web服务器之间的网络路由问题。
  • 起源服务器保持连接禁用。

在所有这些情况下,这是值得检查原点Web服务器是活动的,才去进一步这里接受HTTP请求,同时也与我们在您的帐户的DNS设置正确。

原始服务器太超载回应

确保源服务器不会过载。如果是,它可能是丢弃请求。一般来说,要检查一个好处是平均负载。在Linux / Unix上,你可以通过在命令行上的“W”运行命令,或使用'顶'命令检查检查。什么构成根据负载值可以根据计算机并在其上运行的软件上,但一般来说过10-20的平均负载左右可能意味着该服务器超载不同的高负荷。这是最适合您的主机或这个系统管理员来检查,如果你不确定。

起源有防火墙(或速率限制器),它挡住了我们的请求

这是间歇522错误的最常见的原因。关键的事情要检查最初是 -

  • 请确保你没有在.htaccess,iptables的,或您的防火墙阻止CloudFlare的IP地址。
  • 确保您的托管服务提供商是不是速率限制或阻止来自CloudFlare的IP地址IP请求,并要求他们在白名单地址中提到的IP地址http://www.cloudflare.com/ips

当流量通过CloudFlare的一个网站,原点将首先看到的要求从我们走来。大多数通过CloudFlare的网站的要求会出现只来自我们的IP地址了一把。正因为如此,这往往引发防火墙和IP率限制器从我们这里块请求,认为该网站受到攻击。CPHulk(附带的cPanel)和其他服务已经知道做到这一点。前阻止这种情况的发生,确保中提到的IP地址,这里  已经被列入白名单,或者完全禁用速率限制。

有CloudFlare的和原始Web服务器之间的网络路由问题

这是更困难比其他原因,排除故障,并最好以确保其他潜在原因已被排除出检查在此之前。如果您认为是这样的话,请提出与我们的支持团队支持票。有用的信息,为用户提供这将是─

  • 迄今已签什么样的信息。
  • 港铁或traceroute的从服务器到我们其中一个IP地址,最好是你已经看到在过去离我们请求的IP地址之一。你可以找到如何运行的地铁或跟踪路由信息在这里

原始服务器保活已禁用

CloudFlare的使用的Keep-Alive标头以提高性能。禁用它将导致从连接失败,并在某些情况下返回522s。此功能默认情况下,在大多数主要的Web服务器的当前版本,因此,除非你明确禁用它,这不应该是一个问题。

究竟是什么触发522错误?

当CloudFlare的无法建立一个TCP连接到该网站的原始服务器522错误响应返回。

当有人访问启用CloudFlare的专用网站,一个连接的CloudFlare和网站的源服务器之间建立的。要建立连接,TCP使用三次握手。

  1. SYN:CloudFlare的发送三个SYN包到源服务器。
  2. SYN + ACK:在响应中,源服务器用SYN + ACK应答。
  3. ACK:最后的CloudFlare发送一个ACK返回给源服务器。

在这一点上,CloudFlare的和源服务器都已经收到的连接确认和建立通信。如果源服务器没有在15秒内发送一个SYN + ACK回的CloudFlare,将出现522错误,并关闭连接。

这里是示出一个成功的TCP握手的图:

这里是在未从原始服务器15秒内返回的SYN + ACK,触发522超时的例子:

当起源与SYN + ACK响应并建立TCP连接,但从来没有响应90秒(524条件的ACK请求中的ACK请求发生了522超时另一个条件,但等待时间过长发送响应)。下面是一个例子,详细说明这样的情景:

检查与您的服务器管理员这些条件或托管服务提供商是解决这些错误的最好方法。如果有网络问题,一个跟踪路由从网站起源或地铁可能是有用的(与下文)。

如果继续看排除上述可能性,并解决该问题后,522错误,请联系CloudFlare的支持作进一步调查。

参考资料

MTR /路由跟踪诊断和使用

卷曲

https://support.cloudflare.com/hc/en-us/articles/200171906-Error-522

CloudFlare Support - Error 522: Connection timed out 错误522:连接超时的更多相关文章

  1. 【LR11】Error -27796: Failed to connect to server"server:port": [10060] Connection timed out错误解决办法

      场景描述:被测系统是发布在远程服务器上的,假设IP是10.10.10.10,端口是8066,那么访问地址是http://10.10.10.10:8066/,在control机器上我设置了IP欺骗. ...

  2. Github拉取远端的时候提示“ssh: connect to host github.com port 22: Connection timed out”错误

    在使用Github的时候,如果使用到拉取远端分支的时候或者测试ssh -T git@github.com的时候可能会出现连接失败的问题,错误描述为“ssh: connect to host githu ...

  3. github连接报"ssh: connect to host github.com port 22: Connection timed out"错误

    1. 异常 在连接github时,执行"ssh -T git@github.com" 命令时,出现 ssh: connect to host github.com port 22: ...

  4. 项目的ip地址更改,用git从远程提取代码出现错误,提示为 network error connection timed out

    昨天公司的ip进行了修改,在今天从远程提取代码的过程中提示network error connection timed out错误,从网上看了一下解决方法 1:打开项目文件夹,点击查看 2:勾选隐藏的 ...

  5. Failed to abandon session scope: Connection timed out

    系统log 出现  Failed to abandon session scope: Connection timed out  错误, reboot无法重启 解决办法就是让postfix只用IPv4 ...

  6. redis :read error on connection

    最近做了一个多人竞拍的小功能  因为以前没做过 所以踩了很多坑用的是 mysql + php + redis 实现的竞拍功能 这里先说一下踩得第二个坑redis  的原因  真是欲哭无泪  解决完一个 ...

  7. Action.c(28): Error -27796: Failed to connect to server "xxxx": [10060] Connection timed out

    Error -27796: Failed to connect to server "125.93.51.230:8080": [10061] Connection refused ...

  8. 使用phpmailer插件发邮件失败提示:SMTP -> ERROR: Failed to connect to server: Connection timed out (110) smtp connect() failed;

    一个邮件发送问题,整整弄了我一周时间,起因是这样的,之前弄的一个网站,需要在邮箱里面认证之后才可以注册成功.网站上线了差不多一年之后,客户突然跟我说,网站不能注册了,然后我就查看了一下代码. 发现报这 ...

  9. Android Studio Error:Connection timed out: connect.解决方案

    遇到了这样的错误: Error:Connection timed out: connect. If you are behind an HTTP proxy, please configure the ...

随机推荐

  1. jQuery的回调管理机制(二)

    jQuery.extend({ /*  * deferred对象的一大好处,就是它允许你自由添加多个回调函数. * $.ajax("test.html")   .done(func ...

  2. 精品绿色便携软件 & 录制操作工具

    https://www.vtaskstudio.com/index.php  录制宏工具 https://soft.anruan.com/29821/  TinyTask V1.5 电脑版 https ...

  3. [原]F5负载均衡示例:轮寻

    /** * lihaibo 欢迎转载,请保留原地址 */ 规划: F5 1600 BIG-IP 内网 192.168.100.0 255.255.255.0 外网 10.50.20.0 255.255 ...

  4. 面试题:应用中很多jar包,比如spring、mybatis、redis等等,各自用的日志系统各异,怎么用slf4j统一输出?(上)

    一.问题概述 如题所说,后端应用(非spring boot项目)通常用到了很多jar包,比如spring系列.mybatis.hibernate.各类连接数据库的客户端的jar包.可能这个jar包用的 ...

  5. php-config

    php-config php-config 是一个简单的命令行脚本用于获取所安装的 PHP 配置的信息. 在编译扩展时,如果安装有多个 PHP 版本,可以在配置时用 --with-php-config ...

  6. 编译安装的gitlab8.x如何修改时区设置

    编译安装的gitlab 8.x版本默认的时区是UTC,在页面上显示的时间默认是零时区的区时,安装完成之后,如果页面上显示的时间比北京时间少了8个小时,则需要修改一下时区 把gitlab.yml文件中的 ...

  7. thinkCMF----公共模板的引入

    这个主要用于前台模板的 头部和底部分离: 具体引入方法: <include file="public@source"/> <include file=" ...

  8. 对Yii2中 yii\web\User的理解,和自建的app\models\User(基础版),frontend\models\User的应用原理

    yii\web\User 是一个统称,为用户,没有具体实例,只能管理: 此处以app\models\User为基准: app\models\User 是映射数据表user的model类,同时也实现接口 ...

  9. ELKStack

    ELKStack简介        对于日志来说,最常见的需求就是收集.存储.查询.展示,开源社区正好有相对应的开源项目:logstash(收集).elasticsearch(存储+搜索).kiban ...

  10. OpenCV学习笔记之课后习题练习4-1

    第四章课后练习1 1.本章完整讲述了基本的输入/输出编程以及OpenCV的数据结构.下面的练习是基于前面的知识做一些应用,为后面大程序的实现提供帮助.a.创建一个程序实现以下功能:(1)从视频文件中读 ...