现象
1、内网下载非常快,都是完整的。
2、办公网下载比较慢,用ip加端口访问下载是完整的,通过域名(加了三层nginx代理:前端域名,前端统一入口nginx,后端服务域名)访问就是不完整的。
最终解决
1、在每一层加了如下配置。
proxy_buffering off;
问题分析(摘自https://www.cmdschool.org/archives/12844)
传输中断原因分析(以下是个人分析,并无官方支持,只作参考),
– 由于上游反向代理服务器与Web服务器使用万兆网络下游反向代理服务器与Web服务器使用百兆网络
– 所以上游相较于下游通讯速度极快
– 另外由于反向代理临时文件缓冲区存储参数“proxy_max_temp_file_size”默认值为“1024m”
– 反向代理从上游Web服务器取得数据快速填满临时文件缓冲区的“1024m”空间后与Web服务器断开链接
– 此时下游客户端浏览器与反向代理的数据传输仍在继续缓慢传输
– 上游反向代理服务器与Web服务器等待至预设的响应超时值(默认60秒)后断开连接且不再下载剩余数据
– 此时下游客户端Web浏览器下载完“1024M”数据后即出现下载异常