我想改变client_max_body_size
的值,这样我的nginx ingress就不会返回413错误。
我已经测试了几个解决方案。
这里是我的测试的configMap:
kind: ConfigMap
apiVersion: v1
data:
proxy-connect-timeout: "15"
proxy-read-timeout: "600"
proxy-send-timeout: "600"
proxy-body-size: "8m"
hsts-include-subdomains: "false"
body-size: "64m"
server-name-hash-bucket-size: "256"
client-max-body-size: "50m"
metadata:
name: nginx-configuration
namespace: ingress-nginx
labels:
app: ingress-nginx
这些改变完全没有影响,加载后,在nginx控制器日志中我可以看到关于重新加载config map的信息,但nginx.conf中的值是一样的。
root@nginx-ingress-controller-95db685f5-b5s6s:/# cat /etc/nginx/nginx.conf | grep client_max
client_max_body_size "8m";
client_max_body_size "1m";
client_max_body_size "1m";
client_max_body_size "1m";
client_max_body_size "1m";
client_max_body_size "1m";
client_max_body_size "1m";
client_max_body_size "1m";
client_max_body_size "1m";
client_max_body_size "1m";
client_max_body_size "1m";
client_max_body_size "1m";
client_max_body_size "1m";
我的nginx-controller配置使用这个:image: quay.io/kubernetes-ingress-controller/nginx-ingress-controller:0.13.0
我怎样才能强制nginx改变这个值?并在全局范围内改变它,为我所有的ingress。
可以使用
nginx.ingress.kubernetes.io/proxy-body-size
在 Ingress 对象中设置 max-body-size 选项,而不是更改基本 ConfigMap。下面是使用的例子:
apiVersion: extensions/v1beta1 kind: Ingress metadata: name: my-app annotations: nginx.ingress.kubernetes.io/proxy-body-size: "50m" ...
谢谢。
你的答案