Nginx upstream prematurely closed connection while reading response header from upstream, for large

记录 Nginx upstream prematurely closed connection while reading response header from upstream, for large requests 问题

在网上找了一大推球用没有;

上方案

第一种可能

#在代理上加上
location / {

    #根据 NGINX 文档,连接超时不能超过 75 秒“定义与代理服务器建立连接的超时。应该注意,这个超时通常不能超过 75 秒 
    #虽然说不超过75秒,但是我实际写的 数值 都比这两个大  你也可以设置大一些
    proxy_read_timeout 3000s;
    proxy_connect_timeout 750s;
    proxy_pass http://xxx;
}

第二种可能

还有一种可能就是 下载尝试从 Nginx 代理的服务器下载 2GB 文件时文件流太大导致出问题;

语法:proxy_max_temp_file_size 大小;
默认值:proxy_max_temp_file_size 1024m;
上下文:http, server, location

当启用来自代理服务器的响应缓冲,并且整个响应不适合由 proxy_buffer_size 和 proxy_buffers 指令设置的缓冲区时,可以将部分响应保存到临时文件中。该指令设置临时文件的最大大小。一次写入临时文件的数据大小由 proxy_temp_file_write_size 指令设置。

零值禁用对临时文件的响应的缓冲。

此限制不适用于将缓存或存储在磁盘上的响应。

症状:

下载被强制停止在 1GB 左右,
Nginx 声称上游关闭了连接,但没有代理服务器正在返回完整内容。
解决方案:

proxy_max_temp_file_size代理位置增加,4096m并开始发送完整内容。

location / {
	#在加上这个试一下
	proxy_max_temp_file_size  4096m;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值