【问题标题】:Kubernetes nginx ingress: set client_max_body_size for one subdomain onlyKubernetes nginx 入口:仅为一个子域设置 client_max_body_size
【发布时间】:2019-01-24 20:57:40
【问题描述】:

如何为单个子域设置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中,我只想为storage服务设置client_max_body_size,它位于主机storage.example.com

【问题讨论】:

    标签: nginx kubernetes nginx-ingress


    【解决方案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 资源中的 987654329@ 记录。

    【讨论】:

    猜你喜欢
    • 2015-05-31
    • 2020-12-30
    • 2017-11-18
    • 2012-09-19
    • 1970-01-01
    • 2017-03-31
    • 2020-09-07
    • 1970-01-01
    • 2019-11-20
    相关资源
    最近更新 更多