k8s集群默认安装的ingress-nginx直接投入测试或生产使用,其不合适的配置参数可能会导致一些访问报错。
例如:
- “413 Request Entity Too Large”
- “503 Service Unavailable”
此时我们就需要调整ingress-nginx的配置参数来解决问题,有以下三种方式:
- ConfigMap
使用ConfigMap设置Nginx的全局配置文件 - Annotations
使用Annotations设置特定Server的配置文件,如:某个hello.test.cn - Custom Template
使用模板设置更多的特定Server的配置文件
在此只介绍下比较常见的ConfigMap、Annotations两种方式。
需求
在此主要以解决以下两个问题为例:
- “413 Request Entity Too Large”
此问题为上传文件过大导致,nginx默认限制为1M,可以通过调整client_max_body_size参数解决。 - upstream超时
upstream超市可能会导致502、503、504等问题,nginx默认超时时间为60s,可以通过设置proxy_read_timeout、proxy