0

如何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 中,我只想为位于 hostclient_max_body_size的服务设置。storagestorage.example.com

4

1 回答 1

2

因为我没有client-max-body-size注释列表中看到,这让我相信您必须使用custom-config-snippet来包含该client_max_body_size 5tb;Ingress 的:

metadata:
  annotations:
    nginx.ingress.kubernetes.io/configuration-snippet: |
      client_max_body_size 5tb;

但是,鉴于您说您只想要它storage.example.com,您需要将 Ingress 配置拆分storage.example.com为它自己的 Ingress 资源,因为(AFAIK)注释应用于host:Ingress 资源中的每条记录。

于 2018-08-18T00:50:30.433 回答