我如何使用Traefik入口控制器将速率限制仅应用于子路径,同时在根/
上提供服务?
例如,我有一个名为my-webapp
的服务,我想在/
下提供服务,但要限制/api/
的价格。我尝试使用规则创建入口:
- host: my-webapp.io
http:
paths:
- backend:
serviceName: my-webapp
servicePort: 80
path: /api/
和注释:
traefik.ingress.kubernetes.io/rate-limit: |
extractorfunc: client.ip
rateset:
api-rateset:
period: 1s
average: 10
burst: 20
以及具有路径/
的入口,希望更具体的入口将优先于/api/
路径,但事实并非如此。
答案 0 :(得分:0)
在通过向每个入口添加自定义响应标头来确定使用哪个入口进行调查之后,我发现/api/
入口确实具有优先权。对这个入口应用速率限制,而不是对更大范围的入口似乎起作用,我不确定为什么它不能更早起作用。