nginx - 由于 nginx 反向代理配置,Artifactory 下载过早终止
问题描述
我们发现从 Artifactory 下载大于 1G 的文件,在它前面有一个 nginx 反向代理,有时会被提前终止。
使用 curl 下载时,可以使用-C -
标志恢复下载,以自动确定恢复下载的正确范围。
事实证明,默认的 nginx 配置参数proxy_max_temp_file_size
1024m 在下载较大的文件时会导致竞态条件,有时会下载整个有效负载,有时会在 1024m 处停止。
我想知道是否有其他人看过这个并且对问题有更多了解。我们能够通过增加 来“修复”它proxy_max_temp_file_size
,但我仍然有一种难以理解的驱动力来理解它为什么有时会起作用。
解决方案
NGINX 和 Docker 发生在我身上。请尝试添加以下内容以关闭可能导致它的缓冲:
proxy_buffering off;
proxy_ignore_headers "X-Accel-Buffering";
通常是这类问题的答案。它也可以解释提到的参数,因为缓冲区可能正在使用该最大大小(因此,有时当没有其他缓冲时它可能会起作用)
推荐阅读
- python - Ray:多处理差异(类与函数)
- java - Spring Boot jar 启动错误:线程“main”java.lang.NoClassDefFoundError 中的异常
- python - 删除python .exe的cwd
- python - 如何在元组中添加数据字段,其中涉及 python 中的计算
- servlets - 如何在 cpanel 中添加 servlet?
- npm - 是否可以禁用 NPM 的校验和?
- rust - 是否可以创建一个带有格式参数的字符串,该参数可以在以后应用
- python - 使用 PyCharm 时如何从终端输入命令以在调试模式下与 python 应用程序交互
- flutter - 如何在颤振中创建多个下拉菜单?
- laravel - Why is my laravel collection returning 500 error even it's not when I checked the results using dd()?