如何为单个子域设置client_max_body_size
参数?我有一台服务器可以接受高达5TB的文件上传。我看过的所有示例都向您展示了如何进行全局设置。我的ingress.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
在上面的ingress.yaml中,我只想为位于主机client_max_body_size
上的storage
服务设置storage.example.com
。
答案 0 :(得分:1)
因为我没有在list of annotations上看到client-max-body-size
,所以我认为您必须使用custom-config-snippet为该Ingress包含client_max_body_size 5tb;
:
metadata:
annotations:
nginx.ingress.kubernetes.io/configuration-snippet: |
client_max_body_size 5tb;
但是,假设您只希望storage.example.com
使用它,则需要将storage.example.com
的Ingress配置拆分为自己的Ingress资源,因为(AFAIK)注释是应用于Ingress资源中的每个host:
记录。