使用K8S部署容器项目的时候,如果使用了 nginx-ingress,则所有请求都会通过 nginx-ingress-controller 这个POD。

对于需要上传附件或者POST传输很大报文的时候,肯有可能会出现 Nginx 413 Request Entity Too Large 错误。这是因为 nginx 默认对请求 body 的大小限制为 1m(同样像相关 timeout 也都有默认限制)。

如果你遇到了这个问题,在K8S中,需要对 ingress 的配置进行修改,如下:

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
annotations:
// 这里忽略其他配置未列出
nginx.ingress.kubernetes.io/proxy-body-size: 50m


这里的 50m 是一个示例,具体限制大小以项目实际需求为准。
像其他相关 timeout 等参数,和这个配置方法相同。
Rancher 中的配置位置位于:资源》工作负载》负载均衡》找到你的实际记录》升级》标签/注释》添加标签》输入nginx.ingress.kubernetes.io/proxy-body-size=50m



(END)