ngnix+minio+k8s+docker上传文件报错413 Request Entity Too Large分析记录
过程
1首先查看tomcat配置文件限制及后端配置
首先tomcat默认是-1,即无限制 springboot2.3.1 其他版本有不同
后端
servlet:
multipart:
max-file-size: 100MB
max-request-size: 100MB
已配置
2ngnix默认配置 上传文件1M 修改ngnix配置
http块配置的,拦截全部请求 其他块亦可,拦截维度不同
client_body_buffer_size 10m;
client_max_body_size 10m;
client_body_timeout 5m;
分别是请求缓存文件大小,最大文件大小,文件超时时间
然后开始验证 部署 上去.
还是返回413…
然后开始怀疑配置未生效,修改各种ngnix一直无效.
换种思路 本地测试 ok 6M的文件正常上传,因为本地不是ngnix.
又开始去开发环境docker部署,上传成功…
部署与开发环境使用同一个镜像.却是不同结果.
然后开始怀疑其他网络限制,部署的一直使用Ingress代理出来的域名访问 我直接使用自己镜像的IP访问然后正常上传文件.
原因 Ingress 代理的网络做了上传文件大小限制
修改 Ingress 配置 yml修改
annotations:
nginx.ingress.kubernetes.io/proxy-body-size: 10m