如何为单个子域设置client_max_body_size
参数?我有一个服务器,将接受文件上传高达5TB。我看过的所有例子都向您展示了如何全局设置它。我的入口有多个规则。yaml,我不希望每个规则都继承client_max_body_size
参数,只有文件上传服务器应该继承。
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: ingress-nginx
annotations:
kubernetes.io/ingress.class: nginx
spec:
rules:
- host: example.com
http:
paths:
- backend:
serviceName: homepage
servicePort: 80
- host: storage.example.com
http:
paths:
- backend:
serviceName: storage
servicePort: 80
在上面的入口。yaml,我想只为storage
服务设置client_max_body_size
,该服务位于主机storage.example.com
上。
2条答案
按热度按时间rqcrx0a61#
在
ingress-nginx
的最新版本中,有一个专用于入口资源的注解,称为nginx.ingress.kubernetes.io/proxy-body-size
:如果使用this answer中的
configuration-snippet
,当前将导致如下错误:vfwfrxfs2#
因为我在list of annotations上看不到
client-max-body-size
,所以我相信你必须使用custom-config-snippet来包含该Ingress的client_max_body_size 5tb;
:但是,鉴于您说过只希望它用于
storage.example.com
,您需要将storage.example.com
的Ingress配置拆分到其自己的Ingress资源中,因为(AFAIK)注解应用于Ingress资源中的每个host:
记录。