nginx参数之proxy_send_timeout

1、问题发现

在使用nginx+docker-registry的时候,使用jenkins来往仓库push镜像的时候间歇性出现504超时,在排除了网络情况后,因为此nginx也在同时代理其他的rs,另一个rs服务并没有出现此504状况。就认为是docker仓库配置不对,或者docker仓库版本低,后发现频繁出现504的push的镜像比较大,大约在1G左右,其他未出现504push的镜像都是300M左右。

  • 问题镜像大小如下图所示:

    由此确认排除了docker仓库的问题,就把问题再次推向了nginx
  • 报错504如下

2、nginx参数解释

由于只是proxy,就想到了proxy_send_timeout参数,官网解释如下:

此参数默认设置为60秒,意味着在两次成功写操作的时间,不是整个请求的传输时间,如果在60秒内代理服务器没有接收到任何消息,nginx将关闭这个链接,与后端服务异常报错就是504.

3、调整proxy_send_timeout

默认时间是60秒,如果出现此情况,建议调整为300s以上。
更改后解决此问题,不再有504出现

0
未经许可,不得转载,否则将受到作者追究,博主联系方式见首页右上角

该文章由 发布

这货来去如风,什么鬼都没留下!!!
发表我的评论
取消评论
代码 贴图 加粗 链接 删除线 签到