该错误码为访问目标服务异常。
对于云函数,发生该错误码一般是平台发生了异常,直接与技术支持联系即可。
对于云应用,发生该错误码时,返回结果如下:
{ "success": false, "errorCode": "FAIL_BIZ_TARGET_SERVICE_ERROR", "errorMessage": "{\"timestamp\":\"2021-07-26T09:34:57.144+0000\",\"status\":404,\"error\":\"Not Found\",\"message\":\"Not Found\",\"path\":\"/te\"}" }
详细错误堆栈信息以及返回响应码可到控制台->云应用的日志分析中查看。平台会把调用集群服务产生的HTTP响应码和详细错误信息透出给服务商,便于进行排查。
1)检查集群服务能否正常访问,检查关联的slb是否正确(比如指向正确的集群环境);
2)如果接口请求到了集群服务,且集群服务正常返回数据,需要检查下http返回的状态码,只要状态不是200,云网关会将整个response作为错误信息吐出去让服务商自己处理。
问题可能产生原因:
i)请求参数和后端接收参数类型不一致;
ii)HTTP请求头过长;
iii)URL语法格式错误或者包含非法字符。
解决方案:
i)检查请求参数和后端接收参数是否一致;
ii)查看目标服务器是否对请求头做了限制;
iii)确认访问链接不包含特殊字符,被正确编码。
问题产生原因:使用POST请求后端服务器接口时,云应用调用参数header未指定为application/json格式
解决方案:使用POST请求调用云应用时,需要指定header为application/json;charset=UTF-8
常见错误包括"500 Internal Server Error"、"502 Bad Gateway"和"504 Gateway Timeout"。云应用调用出现类错误,有可能有多种原因导致,例如运营商拦截,SLB配置错误或者健康检查失败,后端ECS应用访问问题等。
500错误码一般是由于服务端代码抛出了异常,未进行处理。
查看Web应用处理HTTP请求的时间是否超过了负载均衡的超时时间。在七层(HTTP/HTTPS)监听配置中,连接请求超时时间默认值为60秒(可以进行修改),若后端ECS实例对请求的处理时间超过默认值,又小于云应用调用设置的超时时间,此时负载均衡SLB会返回504状态码。
排查步骤
查看500、502和504状态码页面,判断是负载均衡问题,还是后端ECS配置问题。
i)负载均衡问题
检查负载均衡状态,查看是否存在健康检查失败的情况,详细健康检查排查文件参见文档:点击访问。
ii)后端ECS问题
如果确认是后端ECS问题,请检查后端ECS实例的Web应用日志是否有相关错误,Web服务是否正常运行;
检查后端ECS实例是否存在CPU、内存、磁盘或网络等性能瓶颈;
查看Web应用处理HTTP请求的时间是否超过了负载均衡的超时时间;
后端服务器accept队列满,导致后端服务器不回复syn_ack报文,客户端超时。