Skip to content

Instantly share code, notes, and snippets.

@mavimo
Last active September 29, 2017 16:48
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mavimo/c4dcaa3e2b9b453b5e4dd2150e7a3096 to your computer and use it in GitHub Desktop.
Save mavimo/c4dcaa3e2b9b453b5e4dd2150e7a3096 to your computer and use it in GitHub Desktop.
Traefik multiple rule bug
version: '3'
services:
traefik:
image: traefik:1.4.0-rc3
ports:
- 80:80
- 8080:8080
volumes:
- ./traefik-work.toml:/etc/traefik/traefik.toml
- /var/run/docker.sock:/var/run/docker.sock
debug = true
logLevel = "DEBUG"
checkNewVersion = true
[web]
address = ":8080"
[entryPoints]
[entryPoints.http]
address = ":80"
[docker]
domain = "mycompany.dev"
exposedbydefault = false
[file]
[backends]
[backends.myservice]
[backends.myservice.servers.server1]
url = "https://httpbin.org"
weight = 1
[frontends]
[frontends.myservice-1]
backend = "myservice"
entrypoints = ["http"]
priority = 10
[frontends.myservice-1.routes.route-1]
rule = "Host:myservice.mycompany.dev;AddPrefix:/anything"
[frontends.myservice-1.routes.route-2]
rule = "Host:www.mycompany.dev;PathPrefix:/assets;AddPrefix:/anything"
[frontends.myservice-1.routes.route-3]
rule = "Host:www.mycompany.dev;PathPrefix:/static;AddPrefix:/anything"
# http://www.mycompany.dev/demo.js => 404
# http://www.mycompany.dev/assets/demo.png => 404 :(
# http://www.mycompany.dev/static/demo.js => 404 :(
# http://myservice.mycompany.dev/demo.js => 404 :(
debug = true
logLevel = "DEBUG"
checkNewVersion = true
[web]
address = ":8080"
[entryPoints]
[entryPoints.http]
address = ":80"
[docker]
domain = "mycompany.dev"
exposedbydefault = false
[file]
[backends]
[backends.myservice]
[backends.myservice.servers.server1]
url = "https://httpbin.org"
weight = 1
[frontends]
[frontends.myservice-1]
backend = "myservice"
entrypoints = ["http"]
priority = 10
[frontends.myservice-1.routes.route-1]
rule = "Host:myservice.mycompany.dev;AddPrefix:/anything"
[frontends.myservice-2]
backend = "myservice"
entrypoints = ["http"]
priority = 100
[frontends.myservice-2.routes.route-2]
rule = "Host:www.mycompany.dev;PathPrefix:/assets;AddPrefix:/anything"
[frontends.myservice-3]
backend = "myservice"
entrypoints = ["http"]
priority = 100
[frontends.myservice-3.routes.route-3]
rule = "Host:www.mycompany.dev;PathPrefix:/static;AddPrefix:/anything"
# http://www.mycompany.dev/demo.js => 404
# http://www.mycompany.dev/assets/demo.png => 200 :)
# http://www.mycompany.dev/static/demo.js => 200 :)
# http://myservice.mycompany.dev/demo.js => 200 :)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment