网站开发使用的软件,汽车网站开发思路,烟台专业网站建设,广告喷绘机器多少钱一台目录
问题现象报错信息
问题现象以及分析
nginx报错信息
问题解决
方法1#xff1a;配置proxy_max_temp_file_size
方法2#xff1a;关闭proxy_buffering
参考文档 问题现象报错信息
问题现象以及分析
文件正常从后端服务器直接下载时#xff0c;一切正常…目录
问题现象报错信息
问题现象以及分析
nginx报错信息
问题解决
方法1配置proxy_max_temp_file_size
方法2关闭proxy_buffering
参考文档 问题现象报错信息
问题现象以及分析
文件正常从后端服务器直接下载时一切正常。但是通过nginx反代后使用wget命令下载到1GB时wget会重试一次重新开始下载然后重试后立即失败。--判断1.nginx可能有1GB缓存之类的限制在网络带宽情况较好的内网直接下载不会出现问题当下载速度受限需要较长时间下载时问题必现下载到1GB中断。--判断2.此问题与网络传输速度也有关联对比测试时使用另一套文件下载服务使用同样的nginx作为反代。另一套文件下载服务下载10GB文件未复现问题。--判断3.后端服务传输方式也存在问题 #wget限制下载速度10MB/s模拟网络带宽受限复现问题。 wget --limit-rate10M nginx报错信息
2024/02/27 17:08:49 [error] 2297567#0: *5206 upstream prematurely closed connection while reading upstream, client: 10.1.1.1, server: file.example.com, request: GET /file/test/test.zip HTTP/1.1, upstream: http://10.10.10.10:80/file/test/test.zip, host: file.example.com
关键信息upstream prematurely closed connection while reading upstream
读取上有服务器时上游服务器过早关闭了连接。
可能上有服务器存在问题过早关闭了连接。可能上有服务器由于内网网络环境较好很快地传输完了数据与nginx断开了连接。与判断2一致 问题解决
方法1配置proxy_max_temp_file_size
参考连接ngx_http_proxy_module - proxy_max_temp_file_size 当启用来自代理服务器地响应缓冲时proxy_buffering on;可以将部分响应保存至缓冲区中。该指令设置临时文件的最大值默认值1024MB。
proxy_max_temp_file_size 2048m;
将此值设置为2GB或者更高问题解决。 方法2关闭proxy_buffering
参考连接ngx_http_proxy_module - proxy_buffering 当proxy_buffering设置为on时启动缓冲。nginx会尽快从代理服务器接收响应并将其保存到 proxy_buffer_size和proxy_buffers指令设置的缓冲区中。
如果整个响应无法放入内存则可以将其中一部分保存到磁盘上的临时文件中。写入临时文件由 proxy_max_temp_file_size和 proxy_temp_file_write_size指令控制。
当禁用缓冲时响应将在收到后立即同步传递到客户端。nginx 不会尝试从代理服务器读取整个响应。nginx一次可以从服务器接收的数据的最大大小由proxy_buffer_size指令设置。 proxy_buffering off;
关闭后nginx不会尽快接收服务器响应从而上有服务器不会过早关闭连接。 参考文档
Module ngx_http_proxy_module