[global] checkNewVersion = false sendAnonymousUsage = false [log] level = "DEBUG" [api] [entryPoints] [entryPoints.web] address = ":8000" [tracing] servicename = "tracing" [tracing.zipkin] httpEndpoint = "http://{{.IP}}:9411/api/v1/spans" debug = true [providers] [providers.file] [http.routers] [http.routers.router1] Service = "service1" Middlewares = ["retry", "ratelimit"] Rule = "Path(`/ratelimit`)" [http.routers.router2] Service = "service2" Middlewares = ["retry"] Rule = "Path(`/retry`)" [http.routers.router3] Service = "service3" Middlewares = ["retry", "basic-auth"] Rule = "Path(`/auth`)" [http.middlewares] [http.middlewares.retry.retry] attempts = 3 [http.middlewares.basic-auth.BasicAuth] users = ["test:$apr1$H6uskkkW$IgXLP6ewTrSuBkTrqE8wj/", "test2:$apr1$d9hr9HBB$4HxwgUir3HP4EsggP/QNo0"] [http.middlewares.ratelimit.RateLimit] extractorfunc = "client.ip" [http.middlewares.ratelimit.RateLimit.rateset.rateset1] period = "60s" average = 4 burst = 5 [http.middlewares.ratelimit.RateLimit.rateset.rateset2] period = "3s" average = 1 burst = 2 [http.services] [http.services.service1] [http.services.service1.LoadBalancer] passHostHeader = true [[http.services.service1.LoadBalancer.Servers]] URL = "http://{{.WhoAmiIP}}:{{.WhoAmiPort}}" [http.services.service2] passHostHeader = true [http.services.service2.LoadBalancer] [[http.services.service2.LoadBalancer.Servers]] URL = "http://{{.WhoAmiIP}}:{{.WhoAmiPort}}" [http.services.service3] passHostHeader = true [http.services.service3.LoadBalancer] [[http.services.service3.LoadBalancer.Servers]] URL = "http://{{.WhoAmiIP}}:{{.WhoAmiPort}}"