Tengine 2.2.2 配置 http2 协议出现的坑
昨天本站将 nginx
配置改为支持 http2
协议,发帖,浏览帖子都很正常,但上传图片出现 504
,改回 http 1.1
恢复正常,于是确定是配置 http2
造成的恶果,于是 google 搜索 “tengine http2 504” 等关键字,最终发现了阿里官方 issue:
https://github.com/alibaba/tengine/issues/1003
此 issue 作者遇到同样的情况:
从 nginx 1.10.1 升级为 tengin 2.1.2
后,
用户通过 multipart/form-data
上传文件时
如果文件大于 1M
就会上传失败
抓包分析后,发现在用户在上传大文件时,http body 内容不完整
导致 java MultipartHttpServletRequest request
拿到的 request.getFileNames()
size 为 0
抓取了 tengin 与 tomcat 之间的报文,异常报文中 http body 内容异常
看这个 issue,确定是 2.2.2 的一个 BUG,接着回退到 2.2.1,问题依旧,回退到 2.2.0,问题得到解决。
在此提醒大家,如果使用 Tengine 需要配置 http2
,建议不要使用 2.2.1 和 2.2.2 版本。
共 1 条评论
我要评论
文章归档
2024 年 10 月
2
2024 年 09 月
2
2024 年 07 月
1
2024 年 06 月
1
2024 年 04 月
1
2024 年 03 月
1
2024 年 01 月
2
2023 年 11 月
2
2023 年 10 月
1
2023 年 08 月
1
文章日历
2024 年 11 月 | ||||||
---|---|---|---|---|---|---|
日 | 一 | 二 | 三 | 四 | 五 | 六 |
26 | 27 | 28 | 29 | 30 | 01 | 02 |
03 | 04 | 05 | 06 | 07 | 08 | 09 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
文章标签
- Linux
- Go
- Yii
- 新浪
- CentOS
- PHP
- Git
- WSL
- Composer
- Mac
- 入职
- Bootstrap
- China
- UCenter
- 厦门
- 出差
- 长沙
- 湖南卫视
- 微博
- Tengine
- YUI
- 泰国
- pecl
- 优化
- GitLab
- 迁移
- rootless
- 年会
- 生日
- Tengin
- RedHat
- Sphinx
- cygwin
- Windows
- Tmux
- Zsh
- 升级
- MySQL
- sql_mode
- Shadowsockets
- 面向对象
- HTTP
- 状态码
- grep
- unoconv
- PPT
- Nginx
- htpasswd
- golang
目前更新到 Tengine 2.3.0,问题得到解决!