在测试规则的时候经常会触发各种报错导致站点无法访问,转又拍云的一个报错文档。

针对错误状态(这里特指 CDN 业务端以及回源站相关错误),CDN 默认返回 JSON
串的形式,格式为:

{

"code": "xxxxxxxx",

"msg": "xxxxxxxxxxxxxxx"

}

其中 code 代表错误码,为 8 位数字组成,例如:40310012 代表触发了 IP
黑名单规则;msg 代表错误描述,例如:remote address is forbidden ,也即客户端 IP
被禁止访问。您可以根据 CDN
返回的错误码和描述来判断触发了何种规则,进而更方便的定位问题。


默认错误码一览表

现将 CDN 平台部分可开放的错误码进行如下归类:

访问控制相关

序号错误码(code)错误描述(msg)发生了什么
140310001invalid urlURL 被禁止访问
240310002region is forbidden触发了地区访问限制规则
340310003too many requests触发了 IP 频率限制规则
440310011invalid User-Agent header触发了 User-Agent 防盗链规则
540310012remote address is forbidden触发了 IP 黑白名单规则
640310013invalid user token触发了 Token 防盗链规则
740310014invalid Referer header触发了 Referer 防盗链规则
840310015referer uri is forbidden触发了 Referer URI 防盗链规则
940310020invalid authentication response body鉴权服务器返回的 body 内容不合法,导致鉴权失败
1040310021invalid authentication response status鉴权服务器返回的状态码不合法,导致鉴权失败
1140310022cyclic authentication requests鉴权服务器地址在又拍云进行了 CDN 加速,导致了循环请求
1250310020authentication service unavailable鉴权服务器不可用
1340110910authentication fails回源鉴权失败
1440310006(api) request body too large通过 API 接口上传的文件 body 太大
1541310001request body too large请求的 body 大小超过限制
1640010030multiple Content-Type header触发了 WAF 规则,请求头中含有多个 Content-Type 头部
1740310031too large form触发了 WAF 规则,form 表单太大
1840310032waf protection rules triggered触发了 WAF 规则
19xxx10999edge rule triggered触发边缘规则,xxx 特指状态码
2040510004invisible domain域名触发了敏感信息被禁止访问

HTTP 及平台规范相关

序号错误码(code)错误描述(msg)发生
141610001multiple Range header多个 Range 头
241610002multiple sections in Range headerRange 请求中存在多段请求范围
341610003illegal range portionRange 请求范围非法
440010040absent Host header请求中缺少 Host 头部,返回工信部错误页面
540010041bucket not found未绑定加速域名或者服务不存在,返回工信部错误页面
640510001invisible bucket服务(空间)为关闭状态
741210001last-modified or Etag illegalLast-Modified 头部或者 ETag 头部非法
840310007cyclic request触发了循环请求限制策略
950310000unknown error其他未知的错误

常见回源错误

序号错误码(code)错误描述(msg)发生了什么
1403xx002response body too large回源响应体太大
2502xx001no valid source address没有合法的回源地址
3502xx002can’t connect to upyun fs无法连接 upyun 存储
4503xx001resolve domain failed域名解析错误
5503xx002resolve domain timeout域名解析超时
6503xx004connection refused连接被拒绝
7503xx005connection reset by peer连接被源站重置
8503xx006handshake failed握手失败
9503xx007client abort客户端取消连接
10503xx008closed连接被关闭
11503xx009broken pipe读取数据出现问题
12503xx010unexpect end of stream未知的源站响应结束
13503xx015certificate host mismatchSSL 证书头不匹配
14503xx016self signed certificateSSL 证书为自签名证书
15503xx017certificate has expiredSSL 证书过期
16504xx001connection timed out回源连接超时
17504xx002connection timeout连接超时
18504xx003read timeout读取数据超时
19504xx004send timeout发送请求超时
  • 其中 xx 可能是 00、01、02、03、04。00 表示 UNKNOWN,01 表示又拍云存储,02 表示用户自主源,03 表示 CDN代理层,04 表示 作图服务。

如何辨别

方式一

如果您通过浏览器访问,您可以通过浏览器页面查看到一段错误代码,例如:

{"code":"40310002","msg":"region is forbidden"}

如上错误代码及描述则说明用户在 CDN 侧配置了地区访问限制策略。

方式二

通过 curl 命令可以看到 X-Error-Code响应字段,则可以看出触发了何种错误。

\<br /\>\< HTTP/1.1 403 Forbidden

\< Server: marco/2.2

\< Date: Fri, 18 May 2018 06:39:47 GMT

\< Content-Type: application/json

\< Connection: keep-alive

\< X-Error-Code: 40310002

\< X-Request-Id: 6b947a5e14a252909acab1e55df121c2

\< Content-Length: 47

\< Via: M.pcw-cn-hkg-166

通过查看 X-Error-Code: 40310002,可以看出触发了地区访问限制规则。


转载于又拍云官方文档云分发(CDN)》功能配置》访问控制》CDN 默认错误码