迁移K8S之后,文件上传报413
问题描述
在迁移k8s之后,发现系统上传附件大小超过1M就会出现“ 413 Request Entity Too Large”的报错。
问题分析
问题出现的主要原因是:nginx-ingress产生的client_max_body_size大小为1m-也就是说消息体最大长度为1m,所以当上传附件大小超过1m的时候,会出现“413 Request Entity Too Large”的报错。
问题解决
nginx-ingress的问题
nginx-ingress有两种:
-
k8s官方的nginx-ingress
-
nginx出品的nginx-ingress
在百度上搜索的时候nginx-ingress的时候出现很多都是k8s官方的nginx-ingress产品的解决方案。
修改消息实体大小限制
k8s官方的ingress
annotations:
nginx.ingress.kubernetes.io/proxy-body-size: 5M
annotations:
nginx.org/client-max-body-size: "20m"
由于我们采用的nginx官方的ingress,所以我用第一种办法修改的时候配置未生效。此处附参考连接:https://blog.csdn.net/weixin_41831919/article/details/118831423