首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于请求方法的kubernets代理体大小设置

基于请求方法的kubernets代理体大小设置
EN

Stack Overflow用户
提问于 2022-01-11 18:26:32
回答 1查看 827关注 0票数 2

我一直在尝试根据给定路径的HTTP方法在Ingress控制器中设置一个最大主体大小。

基本上,POST方法应该允许3m作为最大大小,所有其他方法都应该允许1m。

现在我的主要想法是做这样的事情:

代码语言:javascript
复制
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
  name: ingress-custom-service
  namespace: development
  annotations:
    nginx.ingress.kubernetes.io/ssl-redirect: "false"
    nginx.ingress.kubernetes.io/force-ssl-redirect: "false"
    kubernetes.io/ingress.class: "nginx-dev"
    nginx.ingress.kubernetes.io/configuration-snippet: |
      internal;
      rewrite ^ $original_uri break;
    nginx.ingress.kubernetes.io/server-snippet: |
      location /api/v1/my-endpoint {
        if ( $request_method = POST) {
          set $target_destination '/_post';
          client_max_body_size 3M;
        }
        if ( $request_method != POST) {
          set $target_destination '/_not_post';
          client_max_body_size 1M;
        }
        set $original_uri $uri;
        rewrite ^ $target_destination last;
      }

spec:
  tls:
  rules:
  - host: my-host.com
    http:
      paths:
        - path: /_post
          backend:
            serviceName: my-service
            servicePort: 8080
        - path: /_not_post
          backend:
            serviceName: my-service
            servicePort: 8080

但是,我在吊舱中得到了以下错误:

有什么办法我可以正确设置最大身体大小通过入口控制器?

EN

回答 1

Stack Overflow用户

发布于 2022-01-11 19:28:15

尝试使用configuration-snippet更改注释

代码语言:javascript
复制
nginx.ingress.kubernetes.io/configuration-snippet: |

      location /upload-path {

           client_max_body_size 8M;  
      }

阅读更多信息,请访问:https://github.com/kubernetes/ingress-nginx/blob/main/docs/user-guide/nginx-configuration/annotations.md#configuration-snippet

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70671699

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档