[alibaba/tengine]版本号2.2.2 在https下接受post数据超时

2024-06-26 728 views
7

ssl开启时 POST /api/v1/upload HTTP/1.1 Host: www.xxx.com

Cache-Control: no-cache Postman-Token: fdde7867-6e70-92d3-e329-db879932bda8 Content-Type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW

------WebKitFormBoundary7MA4YWxkTrZu0gW Content-Disposition: form-data; name="file"; filename="2015-2016.pdf" Content-Type: application/pdf

------WebKitFormBoundary7MA4YWxkTrZu0gW--

在数据小于7994B的时候,正常,大于的时候 后端服务无法正常read数据,导致upstream timeout

回答

4

更换nginx 1.12.2后,正常

8

@nerveva
你更换成1.12.2那应该是原生的nginx吧?tenginx好像没有这么高

4

@nerveva 当前版本的HTTP2还不支持流式上传功能(现在的处理逻辑是会把收完client的数据后,才会向后端发送数据、所以可能导致后端的read timeout).同时我们当前正在升级Tengine core代码,届时也会支持H2的流式上传功能。 当前解决方案: 当前如果业务紧急的话可以先使用1.1解决超时的问题(H1 Tengien是支持流式上传功能的)。待我们发布最新版本后在升级为H2.