在使用nginx配合https进行服务搭建的时候,当上传文件过大会导致中断无法完整上传。经过排查发现nginx的设置有问题

多余的配置,用于支持 HTTP 协议升级(HTTP Upgrade) 干扰长连接行为

proxy_http_version 1.1;

proxy_set_header Upgrade $http_upgrade;

proxy_set_header Connection "upgrade";

Connection "upgrade" 会强制 Nginx 处理“连接升级”逻辑

在大文件上传这种长时间的 PUT 请求中,可能导致 Nginx 错误地认为这是一个“待升级”的连接,从而影响连接管理

可能中断流式上传

某些 Nginx 版本或模块在看到 Connection: upgrade 时,会进入“代理升级模式”,不再正常处理普通的流式请求体转发

导致 proxy_request_buffering off 失效,或连接被提前关闭

与 proxy_request_buffering off 冲突

流式文件上传依赖 Nginx 实时转发数据流

而 upgrade 模式可能改变 Nginx 的缓冲和转发行为