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. java高级---->Thread之Phaser的使用

    Phaser提供了动态增parties计数,这点比CyclicBarrier类操作parties更加方便.它是jdk1.7新增的类,今天我们就来学习一下它的用法.尘埃落定之后,回忆别来挑拨. Phas ...

  2. jQuery("dom").get()的源码分析

    该方法是绑定在jQuery.prototype上的一个静态方法,目的是取出jQuery对象中的某个或全部DOM元素. 使用方法: $("someDOM").get(index); ...

  3. linux netcat命令使用技巧

    netcat是网络工具中的瑞士军刀,它能通过TCP和UDP在网络中读写数据.通过与其他工具结合和重定向,你可以在脚本中以多种方式使用它.使用netcat命令所能完成的事情令人惊讶. netcat所做的 ...

  4. Apache Server Status详解

    Apache的日志如果靠分析日志或者查看服务器进程来监视Apache运行状态的话,比较繁冗.不过在Apache 1.3.2及以后的版本中就自带一个查看Apache状态的功能模块server-statu ...

  5. 用Ant给Unity3D导出Eclipse工程打包APK

    我们经常需要出完apk后,告诉我们改版本号,或者包名什么的,但是每次打包时间又很长.索性我们就出一个eclipse工程,然后用ant自动打包. 1.设置环境变量 2.生成build.xml文件 and ...

  6. 23种设计模式之责任链模式(Chain of Responsibility)

    责任链模式是一种对象的行为型模式,避免请求发送者与接收者耦合在一起,让多个对象都有可能接收请求,将这些对象连接成一条链,并且沿着这条链传递请求,直到有对象处理它为止.责任链模式不保证每个请求都被接受, ...

  7. idea正则表达式查找代码的方法

    find: 1. 该正则表达式: initEcharts *:{1} *\{{1} 匹配: initEcharts : { 其中冒号两边允许无限个空格: 2.#[a-zA-Z]*#匹配:两边以井号结束 ...

  8. python之traceback

    traceback 模块允许你在程序里打印异常的跟踪返回 (Traceback)信息 1.1 traceback.print_exc() File: traceback-example-1.py # ...

  9. 使用Properties配置文件 InputStream与FileReader (java)

    java 开发中,常常通过流读取的方式获取 配置文件数据,我们习惯使用properties文件,使用此文件需要注意 文件位置:任意,建议src下 文件名称:任意,扩展名为properties 文件内容 ...

  10. Python重要基础点

    这里记录一些实际编写代码时遇到的常用/重要的内容,有前辈的,也有自己整理加进来的. 以点的形式记录,之后遇到的内容会慢慢补充进来 1. 斜杠 / :斜字第一笔, 转义用反斜杠 \ : 转的最后一笔 2 ...