【问题标题】:How pass ratelimit in app proxed by traefik by docker run command (passing labels)?如何通过 docker run 命令(传递标签)通过 traefik 代理的应用程序中的速率限制?
【发布时间】:2018-06-15 11:25:11
【问题描述】:

我使用类似于以下的命令启动 Web 应用程序:

docker run     --name whoami1  --network proxy    --label traefik.port=80  --label  traefik.basic.frontend.rule=Host:test.example.com       emilevauge/whoami 

如何使用 --label 通过速率限制?

【问题讨论】:

    标签: traefik


    【解决方案1】:

    用你的配置定义一个 TOML 文件可能更实用,以避免传递大量标签:

    如您所见here,在“速率限制”部分:

    [frontends]
        [frontends.frontend1]
          # ...
          [frontends.frontend1.ratelimit]
            extractorfunc = "client.ip"
              [frontends.frontend1.ratelimit.rateset.rateset1]
                period = "10s"
                average = 100
                burst = 200
              [frontends.frontend1.ratelimit.rateset.rateset2]
                period = "3s"
                average = 5
                burst = 10
    

    您必须为每个前端定义 3 个参数。 toml 文件会更清晰,恕我直言。

    【讨论】:

    • 这种方法不可模块化......如果我有一个额外的 web 应用程序......我必须修改已经在工作的服务器中的文件。此外,如果我在该文件中引入错误,那么已经有 N 个 webapps 在生产中工作的服务器的行为是什么?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-08-16
    • 2018-12-18
    • 2023-03-16
    • 1970-01-01
    • 1970-01-01
    • 2018-03-27
    • 1970-01-01
    相关资源
    最近更新 更多