我有一个文件,其中只包含一个注释
---
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配置。但是,不知道如何应用速率限制可以改变重写基。
我已经尝试过在open source nginx server中限制速率,并且它的工作方式与预期的一样。从传递到上游api后端的url中删除路径的更改可以是什么?
最新情况:
我访问了集群并记录了发生的更改:
location ~* "^/logging-microservice" {
rewrite "(?i)/logging-microservice" / break;
}
location ~* "^/" {
}正在转变为
location /logging-microservice {
}
location / {
}当添加速率限制注释时。
发布于 2019-02-08 05:41:12
即使你和Ingress.yaml在一起
nginx.ingress.kubernetes.io/rewrite-target: /
一切都很好,你需要它
nginx.ingress.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: "/"学会了艰难的道路!
https://stackoverflow.com/questions/54572478
复制相似问题