常见错误码、响应码异常排查
您可以参考以下方法,处理接入过程中的常见API错误码、响应码问题。
API错误码
在调用WAF API或通过控制台操作时,如果请求异常,WAF会返回错误码和错误信息。以下是接入配置过程中常见的错误码及处理建议:
| 错误码 | HTTP状态码 | 错误信息 | 触发场景 | 处理建议 |
|---|---|---|---|---|
| WAF.00010001 | 500 | 服务器内部错误 | 未捕获的内部异常、数据库异常、URL编解码失败等 | 稍后重试;如持续出现请提交工单 |
| WAF.00010002 | 500 | 系统繁忙,请稍后重试 | 系统过载 | 等待一段时间后重试 |
| WAF.00010003 | 500 | 创建或修改CNAME失败 | CNAME路由操作失败 | 检查域名配置是否正确;如持续出现请提交工单 |
| WAF.00011001 | 400 | 错误请求 | 请求参数格式不合法 | 检查请求参数格式 |
| WAF.00011002 | 400 | URL中缺少参数或者存在非法参数值 | URL参数缺失或非法 | 检查URL参数是否完整且合法 |
| WAF.00011006 | 400 | 域名非法 | 域名格式校验失败 | 确认域名格式正确:支持一级域名(example.com)、单域名/二级域名(www.example.com)、泛域名(*.example.com) |
| WAF.00011007 | 400 | 端口非法 / IP非法 | 端口或IP格式不正确 | 检查端口范围(1-65535)和IP格式是否正确 |
| WAF.00011019 | 400 | 证书非法 | 证书格式不正确或证书与域名不匹配 | 确保证书为PEM格式,且域名与证书一一对应。泛域名只能使用泛域名证书 |
| WAF.00011021 | 400 | 证书已过期 | 证书已超过有效期 | 更新证书后在WAF中同步更新网站绑定的证书 |
| WAF.00012003 | 401 | 没有权限,拒绝访问 | 当前账号无操作权限 | 确认账号是否具有WAF操作权限(如WAF Administrator) |
| WAF.00012005 | 403 | 未订购WAF服务 | 当前区域或企业项目下未购买WAF | 购买WAF实例后再进行操作 |
| WAF.00012010 | 403 | 所有企业项目下不支持该操作,请选择具体项目 | 在"所有项目"下执行写操作 | 切换到具体的企业项目后再操作 |
| WAF.00013001 | 403 | 配额不足,请购买扩展包或者升级规格 | 功能配额已用完 | 购买扩展包或升级WAF版本规格 |
| WAF.00013011 | 403 | 一级域名配额不足,请购买扩展包或者升级规格 | 一级域名数量超过配额 | 购买域名扩展包或升级规格 |
| WAF.00013013 | 403 | 域名配额不足,请购买扩展包或者升级规格 | 防护域名数量超过配额 | 购买域名扩展包或升级规格 |
| WAF.00013023 | 403 | 账号余额不足 | 账号余额不足以完成操作 | 充值后重试 |
| WAF.00013024 | 403 | 当前区域独享IP资源不足,请稍后重试或选择其他区域 | 该区域下无可用独享IPv4 | 稍后重试或选择其他区域 |
| WAF.00014002 | 400 | 资源已存在 | 添加的域名或资源已存在 | 检查是否已添加过相同域名,无需重复添加 |
| WAF.00014003 | 400 | 开启防护失败,请您先把流量接入WAF | 同域名下已有实例处于防护或已接入状态 | 先将流量接入WAF(配置DNS解析或修改代理回源地址)后再开启防护 |
| WAF.00014004 | 400 | 流量接入失败,请到DNS上添加CNAME记录或者到代理上修改回源地址 | CNAME未配置或代理回源地址未修改 | 到DNS服务商添加CNAME记录,或修改CDN/代理的回源地址为WAF CNAME |
| WAF.00014007 | 400 | 其他人已经添加了该域名,请确认该域名是否属于你 | 该域名已被其他用户添加 | 确认域名归属,如确属您所有,请提交工单处理 |
| WAF.00014011 | 400 | 禁止添加该防护网站 / 防护网站没有接入,请确认是否有访问流量 | 域名在黑名单中 / 防护网站无访问流量 | 确认网站是否有正常访问流量;如域名被加入黑名单请提交工单 |
| WAF.00014012 | 400 | 网站未备案 | ICP备案检查失败 | 完成域名ICP备案后再添加到WAF |
| WAF.00014013 | 400 | 域名已接入 | 重复接入已接入的域名 | 域名已接入WAF,无需重复操作 |
| WAF.00014019 | 400 | 云模式引擎IP未解析到 | DNS解析失败 | 检查DNS解析配置是否正确 |
| WAF.00014033 | 400 | 域名对应的CNAME解析记录尚未刷新到目标集群 | CNAME未调度到目标集群 | 等待CNAME解析刷新(通常需要数分钟),或更新CNAME解析地址后重试 |
| WAF.00016004 | 403 | 该ELB不支持WAF。只有独享型ELB支持WAF | 使用了共享型ELB | 更换为独享型ELB |
| WAF.00016005 | 403 | 该ELB不支持WAF。请确认该ELB下存在应用型监听器 | ELB监听器规格不匹配 | 确认ELB下存在应用型(HTTP/HTTPS)监听器 |
HTTP响应码
网站接入WAF后,访问网站时可能遇到的常见HTTP响应码及处理建议:
| HTTP响应码 | 含义 | 常见原因 | 处理建议 |
|---|---|---|---|
| 200 | 请求成功 | 正常响应 | -- |
| 400 | Bad Request | 请求格式错误、HTTP头不合法 | 检查请求格式是否正确;排查客户端请求是否存在异常 |
| 404 | Not Found |
|
|
| 414 | Request-URI Too Large | 开启JS脚本反爬虫,客户端无JS解析能力导致无限循环 | 关闭JS脚本反爬虫 |
| 418 | WAF拦截 | 请求本身含有恶意负载被WAF拦截 | 查看WAF防护日志确认拦截原因;如为误报可做放行处理 |
| 502 | Bad Gateway |
|
|
| 504 | Gateway Timeout |
|
|
| 523 | WAF死循环保护 | 同一请求四次经过WAF,触发死循环保护 |
|
| 200 + System busy | WAF熔断保护 | 源站502/504比例过高或连接数超限,触发WAF熔断 | 排查源站容量;独享模式可调整熔断保护配置值 |
重定向次数过多
现象:访问网站时提示"重定向次数过多"。
原因:源站配置了HTTP强制跳转HTTPS,但在WAF中只配置了一条HTTPS(对外协议)到HTTP(源站协议)的转发规则,导致WAF将请求跳转为HTTPS后源站又跳转回HTTP,形成死循环。
处理:在WAF中修改服务器信息,配置两条转发规则:
- HTTP(对外协议)→ HTTP(源站协议)
- HTTPS(对外协议)→ HTTPS(源站协议)