【发布时间】:2022-07-08 21:29:02
【问题描述】:
我想为 json 数据中存在带有样本值的参数的请求设置 rateLimit
例子
curl -X \'POST\' \'http://127.0.0.1/\' -H Host:whoami.docker.localhost -H \'accept: application/json\' -H \'Content-Type: application/json\' -d \'{
\"sender\": \"Tester\",
\"receiver\": [
\"receiver1\"
],
\"text\": \"Text\",
\"service\": \"service\"
}\'
我需要为 sender=Tester 限制 100rps,其他发件人必须没有 rateLimit
我试过这样的配置:
[http.routers]
[http.routers.whoami_1]
rule = \"Host(`whoami.docker.localhost`)&&Query(sender=Tester)\"
service = \"whoami\"
entrypoints = [\"web\"]
middlewares = [\"test-ratelimit\"]
[http.middlewares]
[http.middlewares.test-ratelimit.rateLimit]
average = 100
但是收到了
404 page not found
如何从请求中的 json 数据中获取参数并为路由或中间件设置规则?
标签: parsing traefik rate-limiting