首页 > 解决方案 > 由于 nginx 反向代理配置,Artifactory 下载过早终止

问题描述

我们发现从 Artifactory 下载大于 1G 的文件,在它前面有一个 nginx 反向代理,有时会被提前终止

使用 curl 下载时,可以使用-C -标志恢复下载,以自动确定恢复下载的正确范围。

事实证明,默认的 nginx 配置参数proxy_max_temp_file_size1024m 在下载较大的文件时会导致竞态条件,有时会下载整个有效负载,有时会在 1024m 处停止。

我想知道是否有其他人看过这个并且对问题有更多了解。我们能够通过增加 来“修复”它proxy_max_temp_file_size,但我仍然有一种难以理解的驱动力来理解它为什么有时会起作用。

标签: nginxreverse-proxyartifactory

解决方案


NGINX 和 Docker 发生在我身上。请尝试添加以下内容以关闭可能导致它的缓冲:

proxy_buffering off;
proxy_ignore_headers "X-Accel-Buffering";

通常是这类问题的答案。它也可以解释提到的参数,因为缓冲区可能正在使用该最大大小(因此,有时当没有其他缓冲时它可能会起作用)


推荐阅读