traefik/docs/content/middlewares/chain.md
Julien Salleyron 4a68d29ce2 Add a new protocol
Co-authored-by: Gérald Croës <gerald@containo.us>
2019-03-14 09:30:04 +01:00

1.2 KiB

Chain

When One Isn't Enougth {: .subtitle }

Chain

The Chain middleware enables you to define reusable combinations of other pieces of middleware. It makes reusing the same groups easier.

Configuration Example

??? example "A Chain for WhiteList, BasicAuth, and HTTPS"

```toml
# ...    
[http.routers]
    [http.routers.router1]
        service = "service1"
        middlewares = ["secured"]
        rule = "Host: mydomain"

[http.middlewares]
    [http.middlewares.secured.Chain]
        middlewares = ["https-only", "known-ips", "auth-users"]
        
    [http.middlewares.auth-users.BasicAuth]
        users = ["test:$apr1$H6uskkkW$IgXLP6ewTrSuBkTrqE8wj/"]
    [http.middlewares.https-only.SchemeRedirect]
        scheme = "https"
    [http.middlewares.known-ips.ipWhiteList]
        sourceRange = ["192.168.1.7", "x.x.x.x", "x.x.x.x"]

[http.services]
  [http.services.service1]
    [http.services.service1.LoadBalancer]
      [[http.services.service1.LoadBalancer.Servers]]
        URL = "http://127.0.0.1:80"
        Weight = 1
```