HTTP/2 流 0 在 1028MB 时未完全关闭

HTTP/2 stream 0 was not closed cleanly at 1028MB

我有一个网络服务器 returns 大量 JSON(超过 1GB) 当我直接 curl 它时,它工作正常。

但是,当我把它放在 Kubernetes ingress(基于 nginx 的 Kong)后面时,连接总是在 1028M 时被切断

有什么办法可以解决这个问题吗?

这个设置有问题:https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_max_temp_file_size

基本上,缓慢的客户端导致服务器在 nginx 的临时文件中缓冲响应。一旦文件达到其大小限制,nginx 就会切断连接。

我仍然不是 100% 了解 nginx 为何切断连接(可能是上游服务器超时),但增加该值解决了我的问题