如何解决负载均衡返回413请求实体过大的问题

网络云上网络技术服务知识库
问题描述

请求访问 7 层 LB 报错 "error HTTP 413 response body: invalid character ",我该如何排查并解决此问题?

分析过程
  1. 收集用户7层访问日志和相关报错,搜集方法请参考[1]
[https] [2021-xx-xxT12:00:07+08:00] [xxxx] [60134] [xxxx /xxxxx HTTP/1.1] [xxxxx] [xxx] [-] [1074006688] [TLSv1.2] [ECDHE-RSA-AES256-GCM-SHA384] [xxxx] [1289522547] [1] [xxxx] [xxxx] [xxxx] [443] [17.688] [413] [350] [297.403] [xxxx] [xxxx] [-] [-] [-] [-] [-]
  1. 检查 status 和 upstream_status 两个字段状态码,分析是 LB 返回还是后端 RS 返回
  2. 该案例中 status 为 413 、upstream_status 为 空 [-] 。可判断是从ALB反馈413状态码
  3. 检查 request_length (从客户端收到的请求字节数)日志大小 和实际请求大小,该案例为[1074006688] 1GB左右 。
  4. 核实ALB服务端 client_max_body_size 限制大小为1GB
解决方案
  1. 由于暂时无法根据实例调整。建议更换成 4 层 LB,如果有 HTTP S场景建议将证书先放到后端。
  2. 客户端分片上传,分片大小不超过1GB。
参考文档

[1] https://www.volcengine.com/docs/6406/75236 如果您有其他问题,欢迎您联系火山引擎技术支持服务

0
0
0
0
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论