背景描述
我写了一个导出的接口,POST请求,然后将返回的zip流复制给ServletOutputStream
,本地跟前端联调好好的,放到测试环境,咔一下就炸了,打开浏览器调试一看,原来是报了ERR_INCOMPLETE_CHUNKED_ENCODING
.
找问题的过程
接口出错,我们需要逐一排查,先来看看api调用的过程会经过哪些环节:
这里我们看,本地联调是通过的情况下,那么服务端的响应应该是可以用的,问题有可能出在负载均衡这层。
Fix
修改Nginx配置,打开缓冲区
proxy_buffer_size 1024k;
proxy_buffers 16 1024k;
proxy_busy_buffers_size 2048k;
proxy_temp_file_write_size 2048k;
这个我看很多博主都这样配,我也这样配,解决问题嘛,不寒碜
配置完之后记得reload一下让配置生效
修改域名网关的文件大小限制
这个每个公司可能采用的云原生方案不同,自行配置
去掉了@RestController改成@Controller
这个未能通晓原因,老大的解释是这玩意可能影响响应的报文云云.
三板斧下去,干掉了报错