20、K8s ingress-controller中nginx文件上传大小的限制
问题:1.应用程序中上传文件文件出错,页面提示"您上传的文件太大了,请压缩图片后重试。"
2.通过F12 可以看到,后台提示 403错误,可以看到出错是由于nginx的限制,并提示nginx版本号为:nginx/1.13.9
分析:1.业务端带外提供服务的nginx,配置的是开发者中心页面上的域名,因此经过的链路为:
业务自己搭建的nginx ---> 开发者中心主节点的nginx ---> k8s的ingress-control中的nginx;
2.逐一确认个路径中nginx的版本,最终确认为ingress-controler中的nginx 存在该限制
解决: 1. 指定需要更新的参数,更新configmap;
2.重新创建ingress-controller
操作步骤:
- 进入配置文件目录:/data/developercenter_kubernetes/ingress
[root@k8s-master ingress]# pwd
/data/developercenter_kubernetes/ingress
[root@k8s-master ingress]# ll
2.查看已存在的configmap,并删除将要更新的configmap
查看命令: kubectl get configmap -n ingress-nginx
删除命令: kubectl delete configmap nginx-configuration -n ingress-nginx
3.更新configmap配置文件,在 /data/developercenter_kubernetes/ingress/configmap.yaml 文件的末尾增加以下信息:
data:
proxy-body-size: "100m"
4.使用新的配置文件,创建 configmap
kubectl create -f configmap.yaml
5.重新创建 ingress-controller
kubectl delete -f with-rbac.yaml
kubectl create -f with-rbac.yaml
6.进入ingress-controller 容器中验证
kubectl get pod -n ingress-nginx
kubectl exec -it nginx-ingress-controller-545fc9f5cc-mtg8t -n ingress-nginx bash
grep body /etc/nginx/nginx.conf
查看client_max_body_size 是否已经变成更改的值。