网络故障码+dig+curl
常用持续更新
自用
400错误请求 (RFC7231)
由于某些东西被认为是客户端错误(例如,格式错误的请求语法,无效的请求消息框架或欺骗性的请求路由),服务器无法或不会处理该请求。
401未经授权(RFC 7235)
未使用正确的身份验证凭据发送请求
服务器必须根据第4.1节以标头字段的形式发送至少一个挑战WWW-Authenticate
客户端可以发送具有相同凭据的第二个请求,然后,如果挑战与之前的请求相同,则服务器将提供一个实体来帮助客户端找到所需的凭据。
禁止的403 (RFC7231)
如果看到没有Cloudflare品牌商标的403错误,则总是直接从原始Web服务器(而不是Cloudflare)返回此错误,并且通常与服务器上的权限规则有关。
导致此错误的主要原因是:
1.您设置的权限规则或您设置的.htaccess规则中的错误
2. Mod_security规则。
3. IP拒绝规则
由于Cloudflare无法直接访问您的服务器,请与您的主机提供商联系,以获取有关解决403错误和修复规则的帮助。您应该确保没有阻止Cloudflare的IP。
如果请求违反了为所有橙色多云的Cloudflare域启用的默认WAF规则或针对该特定区域启用的WAF规则,则Cloudflare将提供403响应。在Web应用程序防火墙做什么上了解更多信息。对于与Cloudflare或上载SSL证书未涵盖的子/域的SSL连接,Cloudflare还将提供403禁止响应。
如果您在响应正文中看到一个包含Cloudflare品牌的403响应,则这是返回的HTTP响应代码以及我们的许多安全功能:
Web应用程序防火墙质询和阻止页面
基本保护级别的挑战
大多数1xxx Cloudflare错误代码
浏览器完整性检查
如果您尝试*.*.example.com使用Cloudflare颁发的证书通过Cloudflare 访问第二级子域(例如- ),则在浏览器中将看到HTTP 403错误,因为证书中不存在这些主机名。
如有疑问,请联系Cloudflare支持并提供您所看到消息的屏幕截图,或将页面上的所有文本复制到支持票证中。
找不到404 (RFC7231)
原始服务器无法或不愿意找到请求的资源。这通常意味着主机服务器找不到资源。 要提供此错误的更永久版本,应使用410错误代码。
通常,当有人在您的网站上输入错误的URL,另一个页面的链接断开,移动或删除先前存在的页面,或者搜索引擎将您的网站编入索引时出现错误时,通常会发生这些错误。对于典型站点,这些错误占c。网页浏览量的3%,但传统分析平台(例如Google Analytics(分析))通常无法跟踪它们。
网站所有者通常会在生成此错误时实现自定义页面的投放。例如,在Apache中实现Custom 404页面。
Cloudflare不会为客户网站生成404,我们仅代理来自原始服务器的请求。当看到由Cloudflare驱动的站点的404时,您应该与托管提供商联系以寻求帮助。
409冲突(RFC7231)
由于与资源的当前状态存在冲突,因此请求未完成。通常发生在多个客户端试图编辑同一资源的PUT 请求上。
服务器应生成一个有效载荷,该有效载荷应包含足够的信息,以使客户端可以识别冲突的来源。
客户可以并且应该再次重试该请求
Cloudflare将针对错误1001:DNS解析错误生成并提供409 响应 。
499客户关闭请求
Nginx特定的响应代码,指示服务器何时仍在处理其请求时客户端已关闭连接,从而使服务器无法发回状态代码。
这将在针对企业客户的Cloudflare日志 和状态代码分析中显示。
错误500:内部服务器错误
错误500通常表示您的原始Web服务器有问题。 建立数据库 连接错误是由原始Web服务器生成的常见HTTP 500错误消息。 请与您的主机提供商联系以解决。
解析度
向托管服务提供商提供详细信息, 以帮助解决问题。
但是,如果500错误在HTML响应正文中包含“ cloudflare”或“ cloudflare-nginx”,请为Cloudflare支持 提供以下信息:
您的域名
500错误发生的时间和时区
观察到500错误的浏览器中www.example.com/cdn-cgi/trace的输出(将www.example.com替换 为您的实际域名和主机名)
错误502网关错误或错误504网关超时
当Cloudflare无法与原始Web服务器建立联系时,将发生HTTP 502或504错误。
有两种可能的原因:
(最常见的原因)来自原始Web服务器的502/504
来自Cloudflare的502/504
来自原始Web服务器的502/504
当您的原始Web服务器以标准HTTP 502错误网关或504网关超时错误响应时,Cloudflare返回Cloudflare品牌的HTTP 502或504错误:
解析度
请与您的托管服务提供商联系,以解决原始Web服务器上的这些常见原因:
确保原始服务器响应访客URL中对主机名和域的请求,该请求生成502或504错误。
调查过多的服务器负载,崩溃或网络故障。
确定超时或被阻止的应用程序或服务。
来自Cloudflare的502/504
源自Cloudflare的502或504错误显示如下:
如果错误未提及“ cloudflare”,请与您的托管服务提供商联系,以解决起源于您的502/504错误。
解析度
为了避免延迟处理您的查询,请向Cloudflare支持人员提供以下必需的详细信息:
问题发生的时间和时区。
导致HTTP 502或504响应的URL(例如:https : //www.example.com/images/icons/image1.png)
从浏览到www.example.com/cdn-cgi/trace的输出(将www.example.com替换为引起HTTP 502或504错误的域和主机名)
错误503:服务暂时不可用
当原始Web服务器过载时,会发生HTTP错误503。通过错误消息可以识别出两种可能的原因:
错误在HTML响应正文中不包含“ cloudflare”或“ cloudflare-nginx”。
解决方法:请与您的托管服务提供商联系,以验证它们是否对您的原始Web服务器的请求限制等级。
错误在HTML响应正文中包含“ cloudflare”或“ cloudflare-nginx”。
解决方案:Cloudflare数据中心发生连接问题。为Cloudflare支持 提供以下信息:
您的域名
503错误发生的时间和时区
观察到503错误的浏览器中www.example.com/cdn-cgi/trace的输出(将www.example.com替换 为您的实际域名和主机名)
错误520:Web服务器返回未知错误
当原始服务器对Cloudflare返回空,未知或意外的响应时,将发生错误520。
解析度
在进一步调查520个错误时,一种快速的解决方法是 将Cloudflare DNS 应用程序中的DNS记录变成灰白色或暂时暂停Cloudflare。
请与您的托管服务提供商或站点管理员联系, 并请求查看您的原始Web服务器错误日志以查看是否崩溃,并检查以下常见原因:
源Web服务器应用程序崩溃
未在您的来源列入白名单的Cloudflare IP。
源Web服务器TCP空闲超时少于300秒
标头超过8 KB(通常是由于Cookie过多)
来自原始Web服务器的空响应,缺少HTTP状态代码或响应正文
缺少响应标头或原始Web服务器未返回正确的HTTP错误响应
对于某些使原始Web服务器崩溃的PHP应用程序,普遍存在520错误。
如果与主机提供商或站点管理员联系后仍然出现520错误,请向Cloudflare支持人员提供以下信息:
发生错误时请求的资源的完整URL
来自520错误消息的Cloudflare Ray ID
来自http://www.example.com/cdn-cgi/trace的输出 ( 用您的主机名和发生520错误的域替换www.example.com)
两个HAR文件:
一个在您的网站上启用了Cloudflare,
另一个Cloudflare暂时禁用。
错误522:连接超时
当Cloudflare超时与原始Web服务器联系时,发生错误522。两个不同的超时会导致HTTP错误522,具体取决于它们在Cloudflare和原始Web服务器之间何时发生:
在建立连接之前,原始Web服务器不会在Cloudflare发送SYN的15秒内向Cloudflare返回SYN + ACK。
建立连接后,原始Web服务器不会在90秒内确认(ACK)Cloudflare的资源请求。
一个HTTP 524错误 ,如果原始Web服务器确认(ACK)建立连接后,资源请求,但不发送及时的反应发生。
解析度
请与您的主机提供商联系, 以检查原始Web服务器上的以下常见原因:
(最常见的原因)Cloudflare IP地址 受速率限制或在.htaccess,iptables或防火墙中被阻止。确认您的托管服务提供商将Cloudflare IP地址列入白名单。
过载或脱机的原始Web服务器会丢弃传入的请求。
在原始Web服务器上禁用了Keepalive。
Cloudflare DNS 应用程序中的原始IP地址与托管提供商当前提供给原始Web服务器的IP地址不匹配。
数据包被丢弃在原始Web服务器上。
如果以上方法均无法解决,请在与Cloudflare支持人员联系之前,向您的托管服务提供商或站点管理员请求以下信息:
从原始Web服务器到 发生问题之前最常连接到原始Web服务器的Cloudflare IP地址的MTR或跟踪路由。标识记录在原始Web服务器日志中的连接Cloudflare IP。
托管服务提供商调查的详细信息,例如相关日志或与托管服务提供商的对话。
利用 CURL 排查请求问题
-I/–head 只显示文档信息
curl su.baidu.com -I
可以使用curl的内置option:-o(小写)保存网页
curl -o linux.html http://www.linux.com
-o/--output 把输出写到该文件中
-O/--remote-name 把输出写到该文件中,保留远程文件的文件名
指定proxy服务器以及其端口
curl -x 125.39.174.1:80 http://www.linux.com
有时需要在 http request 之中,自定义增加一个头信息传递到服务器(H)–header 参数就可以起到这个作用。
curl --header "Content-Type:application/json" http://example.com
HTTPS指定IP获取Header
curl https://su.baidu.com --resolve su.baidu.com:443:125.39.174.1 -I
--resolve HOST:PORT:ADDRESS Force resolve of HOST:PORT to ADDRESS
dig
其中查询状态分为:
NOERROR: 代表没有错误;
NXDOMAIN: 否定回答,不存在此记录;
REFUSED: DNS服务器拒绝访问;
SERVFAIL: dns查询记录失败,dns无法到达上级拒绝本地缓存;
标志分为:
qr query 查询标志,代表查询操作
rd recursion desired,代表希望进行递归查询操作
ra recursion available 在返回中设置,代表查询的服务器支持递归查询操作
aa authoritative answer 权威回复,如果查询结果是由管理域名的域名服务器而不是缓存服务器提供的,则称为权威回复
查询类型分为:
A记录:IPV4的地址解析;
AAA记录:IPV6的地址解析;
NS记录:域名服务器的记录;
MX记录: 邮件交换记录;
PTR记录(指针记录):A记录的逆向记录,作用是把IP地址解析为域名;
CNAME记录: 别名记录;
设定在输出中显示指出 dig 版本及其所用的查询选项的初始注释。缺省情况下显示注释。
dig www.baidu.com +short
dig +trace显示DNS的整个分级查询过程
dig +trace www.baidu.com
dig -x用于从IP地址反查域名
dig -x 192.30.252.153
可以指定域名服务器查询指定域名
dig www.baidu.com @8.8.8.8