Nginx Kuberentes入口速率lmiting改变重写目标基

Nginx Kuberentes入口速率lmiting改变重写目标基,nginx,url-rewriting,kubernetes-ingress,api-gateway,Nginx,Url Rewriting,Kubernetes Ingress,Api Gateway,我有一个入口文件,它只包含一个注释: --- apiVersion: "extensions/v1beta1" kind: "Ingress" metadata: name: "logging-microservice-ingress" namespace: "000000001" annotations: nginx.ingress.kubernetes.io/rewrite-target: / spec: rules:

我有一个入口文件,它只包含一个注释:

---
  apiVersion: "extensions/v1beta1"
  kind: "Ingress"
  metadata: 
    name: "logging-microservice-ingress"
    namespace: "000000001"
    annotations:
      nginx.ingress.kubernetes.io/rewrite-target: /
  spec: 
    rules: 
      - 
        host: "ms-shared-nad.techmahindra.com"
        http: 
          paths: 
            - 
              backend: 
                serviceName: "logging-microservice-000000001"
                servicePort: 3000
              path: "/logging-microservice"
当我呼叫
https://example.com/logging-microservice/logs
后端服务生成

GET/logs-->200

当我添加了两个注释时

  nginx.ingress.kubernetes.io/limit-connections: 1
  nginx.ingress.kubernetes.io/limit-rps: 1
后端提供

GET/logging microservice/logs-->404

我没有权限查看在那里生成的实际nginx配置。但是,想知道应用速率限制如何改变重写基础

我曾尝试在
开源nginx服务器
中进行速率限制,效果如预期。从传递到上游api后端的url中删除路径的更改可能是什么


更新: 我已访问群集并记录发生的更改:

location ~* "^/logging-microservice" {
    rewrite "(?i)/logging-microservice" / break;
}
location ~* "^/" {
}
正在转变为

location /logging-microservice {

}
location / {
}
添加速率限制注释时



即使您使用的是Ingress.yaml和

nginx.ingres.kubernetes.io/rewrite-target://

一切都很好,你需要这样

nginx.ingres.kubernetes.io/rewrite-target:“/”

另一件事是,注释的顺序很重要

不可能是:

  nginx.ingress.kubernetes.io/rewrite-target: "/"
  nginx.ingress.kubernetes.io/limit-connections: "1"
  nginx.ingress.kubernetes.io/limit-rps: "1"
应该是:

  nginx.ingress.kubernetes.io/limit-connections: "1"
  nginx.ingress.kubernetes.io/limit-rps: "1"
  nginx.ingress.kubernetes.io/rewrite-target: "/"

辛苦学习

即使给你的是Ingress.yaml和

nginx.ingres.kubernetes.io/rewrite-target://

一切都很好,你需要这样

nginx.ingres.kubernetes.io/rewrite-target:“/”

另一件事是,注释的顺序很重要

不可能是:

  nginx.ingress.kubernetes.io/rewrite-target: "/"
  nginx.ingress.kubernetes.io/limit-connections: "1"
  nginx.ingress.kubernetes.io/limit-rps: "1"
应该是:

  nginx.ingress.kubernetes.io/limit-connections: "1"
  nginx.ingress.kubernetes.io/limit-rps: "1"
  nginx.ingress.kubernetes.io/rewrite-target: "/"
辛苦学习