1
0
Fork 0

Add a new protocol

Co-authored-by: Gérald Croës <gerald@containo.us>
This commit is contained in:
Julien Salleyron 2019-03-14 09:30:04 +01:00 committed by Traefiker Bot
parent 0ca2149408
commit 4a68d29ce2
231 changed files with 6895 additions and 4395 deletions

View file

@ -8,16 +8,16 @@ checkNewVersion = false
[accessLog]
filePath = "access.log"
[entryPoints]
[entryPoints.http]
[entrypoints]
[entrypoints.web]
address = ":8000"
[entryPoints.frontendRedirect]
[entrypoints.frontendRedirect]
address = ":8005"
[entryPoints.httpFrontendAuth]
[entrypoints.httpFrontendAuth]
address = ":8006"
[entryPoints.httpRateLimit]
[entrypoints.httpRateLimit]
address = ":8007"
[entryPoints.digestAuth]
[entrypoints.digestAuth]
address = ":8008"
[api]

View file

@ -1,21 +1,17 @@
[log]
logLevel = "DEBUG"
logLevel = "DEBUG"
[entryPoints]
[entryPoints.http]
address = "{{ .PortHTTP }}"
[entryPoints.https]
address = "{{ .PortHTTPS }}"
[entryPoints.https.tls]
[entrypoints]
[entrypoints.web]
address = "{{ .PortHTTP }}"
[entrypoints.web-secure]
address = "{{ .PortHTTPS }}"
[acme]
email = "test@traefik.io"
storage = "/tmp/acme.json"
entryPoint = "https"
# entryPoint = "https"
acmeLogging = true
onDemand = {{ .Acme.OnDemand }}
onHostRule = {{ .Acme.OnHostRule }}
keyType = "{{ .Acme.KeyType }}"
caServer = "{{ .Acme.CAServer }}"
@ -42,14 +38,15 @@ logLevel = "DEBUG"
[providers]
[providers.file]
[services]
[services.test.loadbalancer]
[[services.test.loadbalancer.servers]]
url = "http://127.0.0.1:9010"
weight = 1
[http.services]
[http.services.test.loadbalancer]
[[http.services.test.loadbalancer.servers]]
url = "http://127.0.0.1:9010"
weight = 1
[routers]
[routers.test]
service = "test"
rule = "Host(`traefik.acme.wtf`)"
entryPoints = ["https"]
[http.routers]
[http.routers.test]
entryPoints = ["web-secure"]
rule = "Host(`traefik.acme.wtf`)"
service = "test"
[http.routers.test.tls]

View file

@ -1,52 +0,0 @@
[log]
logLevel = "DEBUG"
[entryPoints]
[entryPoints.http]
address = "{{ .PortHTTP }}"
[entryPoints.https]
address = "{{ .PortHTTPS }}"
[entryPoints.https.tls]
[acme]
email = "test@traefik.io"
storage = "/tmp/acme.json"
entryPoint = "https"
acmeLogging = true
onDemand = {{ .Acme.OnDemand }}
onHostRule = {{ .Acme.OnHostRule }}
keyType = "{{ .Acme.KeyType }}"
caServer = "{{ .Acme.CAServer }}"
{{if .Acme.HTTPChallenge }}
[acme.httpChallenge]
entryPoint = "{{ .Acme.HTTPChallenge.EntryPoint }}"
{{end}}
{{range .Acme.Domains}}
[[acme.domains]]
main = "{{ .Main }}"
sans = [{{range .SANs }}
"{{.}}",
{{end}}]
{{end}}
[web]
path="/traefik"
[providers]
[providers.file]
[services]
[services.test.loadbalancer]
[[services.test.loadbalancer.servers]]
url = "http://127.0.0.1:9010"
weight = 1
[routers]
[routers.test]
service = "test"
rule = "Host(`traefik.acme.wtf`)"
entryPoints = ["https"]

View file

@ -1,22 +1,17 @@
[log]
logLevel = "DEBUG"
logLevel = "DEBUG"
[entryPoints]
[entryPoints.http]
address = "{{ .PortHTTP }}"
[entryPoints.https]
address = "{{ .PortHTTPS }}"
[entryPoints.https.tls]
[entryPoints.https.tls.DefaultCertificate]
certFile = "fixtures/acme/ssl/wildcard.crt"
keyFile = "fixtures/acme/ssl/wildcard.key"
[entrypoints]
[entrypoints.web]
address = "{{ .PortHTTP }}"
[entrypoints.web-secure]
address = "{{ .PortHTTPS }}"
[acme]
email = "test@traefik.io"
storage = "/tmp/acme.json"
entryPoint = "https"
# entryPoint = "https"
acmeLogging = true
onDemand = {{ .Acme.OnDemand }}
onHostRule = {{ .Acme.OnHostRule }}
keyType = "{{ .Acme.KeyType }}"
caServer = "{{ .Acme.CAServer }}"
@ -43,14 +38,19 @@ logLevel = "DEBUG"
[providers]
[providers.file]
[services]
[services.test.loadbalancer]
[[services.test.loadbalancer.servers]]
[http.services]
[http.services.test.loadbalancer]
[[http.services.test.loadbalancer.servers]]
url = "http://127.0.0.1:9010"
weight = 1
[routers]
[routers.test]
service = "test"
[http.routers]
[http.routers.test]
entryPoints = ["web-secure"]
rule = "Host(`traefik.acme.wtf`)"
entryPoints = ["https"]
service = "test"
[http.routers.test.tls]
[tlsStores.default.defaultCertificate]
certFile = "fixtures/acme/ssl/wildcard.crt"
keyFile = "fixtures/acme/ssl/wildcard.key"

View file

@ -1,20 +1,17 @@
[log]
logLevel = "DEBUG"
[entryPoints]
[entryPoints.http]
[entrypoints]
[entrypoints.web]
address = "{{ .PortHTTP }}"
[entryPoints.https]
[entrypoints.web-secure]
address = "{{ .PortHTTPS }}"
[entryPoints.https.tls]
[acme]
email = "test@traefik.io"
storage = "/tmp/acme.json"
entryPoint = "https"
# entryPoint = "https"
acmeLogging = true
onDemand = {{ .Acme.OnDemand }}
onHostRule = {{ .Acme.OnHostRule }}
keyType = "{{ .Acme.KeyType }}"
caServer = "{{ .Acme.CAServer }}"

View file

@ -1,26 +1,26 @@
[log]
logLevel = "DEBUG"
[entrypoints]
[entrypoints.web]
address = "{{ .PortHTTP }}"
[entryPoints]
[entryPoints.http]
address = "{{ .PortHTTP }}"
[entryPoints.https]
address = "{{ .PortHTTPS }}"
[entryPoints.https.tls]
[entryPoints.traefik]
address = ":9000"
[entryPoints.traefik.tls]
[entryPoints.traefik.tls.DefaultCertificate]
certFile = "fixtures/acme/ssl/wildcard.crt"
keyFile = "fixtures/acme/ssl/wildcard.key"
[entrypoints.web-secure]
address = "{{ .PortHTTPS }}"
[entrypoints.traefik]
address = ":9000"
# FIXME
# [entrypoints.traefik.tls]
# [entrypoints.traefik.tls.DefaultCertificate]
# certFile = "fixtures/acme/ssl/wildcard.crt"
# keyFile = "fixtures/acme/ssl/wildcard.key"
[acme]
email = "test@traefik.io"
storage = "/tmp/acme.json"
entryPoint = "https"
# entryPoint = "https"
acmeLogging = true
onDemand = {{ .Acme.OnDemand }}
onHostRule = {{ .Acme.OnHostRule }}
keyType = "{{ .Acme.KeyType }}"
caServer = "{{ .Acme.CAServer }}"

View file

@ -1,18 +1,18 @@
[services]
[services.test.loadbalancer]
[[services.test.loadbalancer.servers]]
url = "http://127.0.0.1:9010"
weight = 1
[routers]
[routers.test]
service = "test"
rule = "Host(`traefik.acme.wtf`)"
entryPoints = ["https"]
[http.services]
[http.services.test.loadbalancer]
[[http.services.test.loadbalancer.servers]]
url = "http://127.0.0.1:9010"
weight = 1
[http.routers]
[http.routers.test]
entryPoints = ["web-secure"]
rule = "Host(`traefik.acme.wtf`)"
service = "test"
[http.routers.test.tls]
[[tls]]
entryPoints = ["https"]
store = ["default"]
[tls.certificate]
certFile = "fixtures/acme/ssl/wildcard.crt"
keyFile = "fixtures/acme/ssl/wildcard.key"

View file

@ -1,10 +1,10 @@
[log]
logLevel = "DEBUG"
[entryPoints]
[entryPoints.http]
[entrypoints]
[entrypoints.web]
address = ":8000"
[entryPoints.api]
[entrypoints.api]
address = ":8081"

View file

@ -1,14 +1,14 @@
[log]
logLevel = "DEBUG"
[entryPoints]
[entryPoints.api]
[entrypoints]
[entrypoints.api]
address = ":8081"
[entryPoints.http]
[entrypoints.web]
address = ":8000"
[entryPoints.https]
[entrypoints.web-secure]
address = ":4443"
[entryPoints.https.tls]
[entrypoints.web-secure.tls]
[providers]
[providers.consul]

View file

@ -3,8 +3,8 @@ logLevel = "DEBUG"
[api]
[entryPoints]
[entryPoints.http]
[entrypoints]
[entrypoints.web]
address = ":8000"
[providers]

View file

@ -2,8 +2,8 @@
[log]
logLevel = "DEBUG"
[entryPoints]
[entryPoints.http]
[entrypoints]
[entrypoints.web]
address = ":8000"
[api]

View file

@ -1,8 +1,8 @@
[log]
logLevel = "DEBUG"
[entryPoints]
[entryPoints.http]
[entrypoints]
[entrypoints.web]
address = ":8000"
[api]

View file

@ -1,10 +1,10 @@
[log]
logLevel = "DEBUG"
[entryPoints]
[entryPoints.http]
[entrypoints]
[entrypoints.web]
address = ":8080"
[entryPoints.api]
[entrypoints.api]
address = ":8081"
[providers]

View file

@ -1,33 +1,33 @@
[log]
logLevel = "DEBUG"
[entryPoints]
[entryPoints.http]
[entrypoints]
[entrypoints.web]
address = ":8080"
[providers]
[providers.file]
[routers]
[routers.router1]
[http.routers]
[http.routers.router1]
Rule = "Host(`test.local`)"
service = "service1"
middlewares = ["error"]
[middlewares]
[middlewares.error.errors]
[http.middlewares]
[http.middlewares.error.errors]
status = ["500-502", "503-599"]
service = "error"
query = "/50x.html"
[services]
[services.service1.loadbalancer]
[http.services]
[http.services.service1.loadbalancer]
passHostHeader = true
[[services.service1.loadbalancer.servers]]
[[http.services.service1.loadbalancer.servers]]
url = "http://{{.Server1}}:8989474"
weight = 1
[services.error.loadbalancer]
[[services.error.loadbalancer.servers]]
[http.services.error.loadbalancer]
[[http.services.error.loadbalancer.servers]]
url = "http://{{.Server2}}:80"
weight = 1

View file

@ -1,33 +1,33 @@
[log]
logLevel = "DEBUG"
[entryPoints]
[entryPoints.http]
[entrypoints]
[entrypoints.web]
address = ":8080"
[providers]
[providers.file]
[routers]
[routers.router1]
[http.routers]
[http.routers.router1]
Rule = "Host(`test.local`)"
service = "service1"
middlewares = ["error"]
[middlewares]
[middlewares.error.errors]
[http.middlewares]
[http.middlewares.error.errors]
status = ["500-502", "503-599"]
service = "error"
query = "/50x.html"
[services]
[services.service1.loadbalancer]
[http.services]
[http.services.service1.loadbalancer]
passHostHeader = true
[[services.service1.loadbalancer.servers]]
[[http.services.service1.loadbalancer.servers]]
url = "http://{{.Server1}}:80"
weight = 1
[services.error.loadbalancer]
[[services.error.loadbalancer.servers]]
[http.services.error.loadbalancer]
[[http.services.error.loadbalancer.servers]]
url = "http://{{.Server2}}:80"
weight = 1

View file

@ -1,10 +1,10 @@
[log]
logLevel = "DEBUG"
[entryPoints]
[entryPoints.http]
[entrypoints]
[entrypoints.web]
address = ":8000"
[entryPoints.api]
[entrypoints.api]
address = ":8081"

View file

@ -1,14 +1,14 @@
[log]
logLevel = "DEBUG"
[entryPoints]
[entryPoints.api]
[entrypoints]
[entrypoints.api]
address = ":8081"
[entryPoints.http]
[entrypoints.web]
address = ":8000"
[entryPoints.https]
[entrypoints.web-secure]
address = ":4443"
[entryPoints.https.tls]
[entrypoints.web-secure.tls]

View file

@ -1,8 +1,8 @@
[log]
logLevel = "DEBUG"
[entryPoints]
[entryPoints.http]
[entrypoints]
[entrypoints.web]
address = ":8000"
[providers]

View file

@ -1,8 +1,10 @@
[entryPoints]
[entryPoints.http]
[log]
logLevel = "DEBUG"
[entrypoints]
[entrypoints.web]
address = ":8000"
logLevel = "DEBUG"
[providers]
[providers.file]

View file

@ -1,10 +1,10 @@
[routers]
[routers.router1]
[http.routers]
[http.routers.router1]
rule = "Path(`/test1`)"
service = "service1"
[services]
[services.service1.loadbalancer]
[[services.service1.loadbalancer.servers]]
[http.services]
[http.services.service1.loadbalancer]
[[http.services.service1.loadbalancer.servers]]
url = "http://172.17.0.2:80"
weight = 1

View file

@ -1,10 +1,10 @@
[routers]
[routers.router2]
[http.routers]
[http.routers.router2]
rule = "Path(`/test2`)"
service = "service2"
[services]
[services.service2.loadbalancer]
[[services.service2.loadbalancer.servers]]
[http.services]
[http.services.service2.loadbalancer]
[[http.services.service2.loadbalancer.servers]]
url = "http://172.17.0.123:80"
weight = 1

View file

@ -1,8 +1,8 @@
[log]
logLevel = "DEBUG"
[entryPoints]
[entryPoints.http]
[entrypoints]
[entrypoints.web]
address = ":8000"
[providers]

View file

@ -1,6 +1,6 @@
[entryPoints]
[entryPoints.http]
[entrypoints]
[entrypoints.web]
address = ":8000"
[log]
@ -9,35 +9,35 @@ logLevel = "DEBUG"
[providers]
[providers.file]
[routers]
[routers.router1]
[http.routers]
[http.routers.router1]
rule = "Host(`test.localhost`)"
service = "service2"
[routers.router2]
[http.routers.router2]
rule = "Path(`/test`)"
middlewares = ["circuitbreaker"]
service = "service1"
[middlewares]
[middlewares.circuitbreaker.circuitbreaker]
[http.middlewares]
[http.middlewares.circuitbreaker.circuitbreaker]
expression = "NetworkErrorRatio() > 0.5"
[services]
[services.service1.loadbalancer]
[[services.service1.loadbalancer.servers]]
[http.services]
[http.services.service1.loadbalancer]
[[http.services.service1.loadbalancer.servers]]
url = "http://172.17.0.2:80"
weight = 10
[[services.service1.loadbalancer.servers]]
[[http.services.service1.loadbalancer.servers]]
url = "http://172.17.0.3:80"
weight = 1
[services.service2]
[services.service2.loadbalancer]
[http.services.service2]
[http.services.service2.loadbalancer]
method = "drr"
[[services.service2.loadbalancer.servers]]
[[http.services.service2.loadbalancer.servers]]
url = "http://172.17.0.4:80"
weight = 1
[[services.service2.loadbalancer.servers]]
[[http.services.service2.loadbalancer.servers]]
url = "http://172.17.0.5:80"
weight = 2

View file

@ -4,26 +4,27 @@ rootCAs = [ """{{ .CertContent }}""" ]
[global]
debug = true
[entryPoints]
[entryPoints.https]
[entrypoints]
[entrypoints.web-secure]
address = ":4443"
[entryPoints.https.tls]
[entryPoints.https.tls.DefaultCertificate]
certFile = """{{ .CertContent }}"""
keyFile = """{{ .KeyContent }}"""
[api]
[providers]
[providers.file]
[routers]
[routers.router1]
[http.routers]
[http.routers.router1]
rule = "Host(`127.0.0.1`)"
service = "service1"
[http.routers.router1.tls]
[services]
[services.service1.loadbalancer]
[[services.service1.loadbalancer.servers]]
[http.services]
[http.services.service1.loadbalancer]
[[http.services.service1.loadbalancer.servers]]
url = "https://127.0.0.1:{{ .GRPCServerPort }}"
weight = 1
[tlsStores.default.DefaultCertificate]
certFile = """{{ .CertContent }}"""
keyFile = """{{ .KeyContent }}"""

View file

@ -1,9 +1,8 @@
[global]
debug = true
[entryPoints]
[entryPoints.http]
[entrypoints]
[entrypoints.web]
address = ":8081"
[api]
@ -11,13 +10,13 @@ debug = true
[providers]
[providers.file]
[routers]
[routers.router1]
[http.routers]
[http.routers.router1]
rule = "Host(`127.0.0.1`)"
service = "service1"
[services]
[services.service1.loadbalancer]
[[services.service1.loadbalancer.servers]]
[http.services]
[http.services.service1.loadbalancer]
[[http.services.service1.loadbalancer.servers]]
url = "h2c://127.0.0.1:{{ .GRPCServerPort }}"
weight = 1

View file

@ -1,27 +1,28 @@
[global]
debug = true
[entryPoints]
[entryPoints.https]
[entrypoints]
[entrypoints.web-secure]
address = ":4443"
[entryPoints.https.tls]
[entryPoints.https.tls.DefaultCertificate]
certFile = """{{ .CertContent }}"""
keyFile = """{{ .KeyContent }}"""
[api]
[providers]
[providers.file]
[routers]
[routers.router1]
[http.routers]
[http.routers.router1]
rule = "Host(`127.0.0.1`)"
service = "service1"
[http.routers.router1.tls]
[services]
[services.service1.loadbalancer]
[[services.service1.loadbalancer.servers]]
[http.services]
[http.services.service1.loadbalancer]
[[http.services.service1.loadbalancer.servers]]
url = "h2c://127.0.0.1:{{ .GRPCServerPort }}"
weight = 1
[tlsStores.default.DefaultCertificate]
certFile = """{{ .CertContent }}"""
keyFile = """{{ .KeyContent }}"""

View file

@ -5,28 +5,27 @@ insecureSkipVerify = true
[global]
debug = true
[entryPoints]
[entryPoints.https]
[entrypoints]
[entrypoints.web-secure]
address = ":4443"
[entryPoints.https.tls]
[entryPoints.https.tls.DefaultCertificate]
certFile = """{{ .CertContent }}"""
keyFile = """{{ .KeyContent }}"""
[api]
[providers]
[providers.file]
[routers]
[routers.router1]
[http.routers]
[http.routers.router1]
rule = "Host(`127.0.0.1`)"
service = "service1"
[http.routers.router1.tls]
[services]
[services.service1.loadbalancer]
[[services.service1.loadbalancer.servers]]
[http.services]
[http.services.service1.loadbalancer]
[[http.services.service1.loadbalancer.servers]]
url = "https://127.0.0.1:{{ .GRPCServerPort }}"
weight = 1
[tlsStores.default.DefaultCertificate]
certFile = """{{ .CertContent }}"""
keyFile = """{{ .KeyContent }}"""

View file

@ -1,34 +1,34 @@
[serversTransport]
rootCAs = [ """{{ .CertContent }}""" ]
[entryPoints]
[entryPoints.https]
[entrypoints]
[entrypoints.web-secure]
address = ":4443"
[entryPoints.https.tls]
[entryPoints.https.tls.DefaultCertificate]
certFile = """{{ .CertContent }}"""
keyFile = """{{ .KeyContent }}"""
[api]
[providers]
[providers.file]
[routers]
[routers.router1]
[http.routers]
[http.routers.router1]
rule = "Host(`127.0.0.1`)"
service = "service1"
middlewares = ["retryer"]
[http.routers.router1.tls]
[middlewares]
[middlewares.retryer.retry]
[http.middlewares]
[http.middlewares.retryer.retry]
Attempts = 2
[services]
[services.service1.loadbalancer]
[services.service1.loadbalancer.responseForwarding]
[http.services]
[http.services.service1.loadbalancer]
[http.services.service1.loadbalancer.responseForwarding]
flushInterval="1ms"
[[services.service1.loadbalancer.servers]]
[[http.services.service1.loadbalancer.servers]]
url = "https://127.0.0.1:{{ .GRPCServerPort }}"
weight = 1
[tlsStores.default.DefaultCertificate]
certFile = """{{ .CertContent }}"""
keyFile = """{{ .KeyContent }}"""

View file

@ -2,29 +2,27 @@
[serversTransport]
rootCAs = [ """{{ .CertContent }}""" ]
[entryPoints]
[entryPoints.https]
address = ":4443"
[entryPoints.https.tls]
[entryPoints.https.tls.DefaultCertificate]
certFile = """{{ .CertContent }}"""
keyFile = """{{ .KeyContent }}"""
[entrypoints]
[entrypoints.web-secure]
address = ":4443"
[api]
[providers]
[providers.file]
[routers]
[routers.router1]
[http.routers]
[http.routers.router1]
rule = "Host(`127.0.0.1`)"
service = "service1"
[http.routers.router1.tls]
[services]
[services.service1.loadbalancer]
[services.service1.loadbalancer.responseForwarding]
flushInterval="1ms"
[[services.service1.loadbalancer.servers]]
[http.services]
[http.services.service1.loadbalancer]
[[http.services.service1.loadbalancer.servers]]
url = "https://127.0.0.1:{{ .GRPCServerPort }}"
weight = 1
[tlsStores.default.DefaultCertificate]
certFile = """{{ .CertContent }}"""
keyFile = """{{ .KeyContent }}"""

View file

@ -1,10 +1,10 @@
[log]
logLevel = "DEBUG"
[entryPoints]
[entryPoints.http1]
[entrypoints]
[entrypoints.http1]
address = ":8000"
[entryPoints.http2]
[entrypoints.http2]
address = ":9000"
[api]
@ -12,21 +12,21 @@ logLevel = "DEBUG"
[providers]
[providers.file]
[routers]
[routers.router1]
[http.routers]
[http.routers.router1]
service = "service1"
Rule = "Host(`test.localhost`)"
[services]
[services.service1.loadbalancer]
[http.services]
[http.services.service1.loadbalancer]
method = "drr"
[services.service1.loadbalancer.healthcheck]
[http.services.service1.loadbalancer.healthcheck]
path = "/health"
interval = "1s"
timeout = "0.9s"
[[services.service1.loadbalancer.servers]]
[[http.services.service1.loadbalancer.servers]]
url = "http://{{.Server1}}:80"
weight = 1
[[services.service1.loadbalancer.servers]]
[[http.services.service1.loadbalancer.servers]]
url = "http://{{.Server2}}:80"
weight = 1

View file

@ -1,10 +1,10 @@
[log]
logLevel = "DEBUG"
[entryPoints]
[entryPoints.http1]
[entrypoints]
[entrypoints.http1]
address = ":8000"
[entryPoints.http2]
[entrypoints.http2]
address = ":9000"
[api]
@ -12,21 +12,21 @@ logLevel = "DEBUG"
[providers]
[providers.file]
[routers]
[routers.router1]
[http.routers]
[http.routers.router1]
service = "service1"
Rule = "Host(`test.localhost`)"
[services]
[services.service1.loadbalancer]
[http.services]
[http.services.service1.loadbalancer]
method = "wrr"
[services.service1.loadbalancer.healthcheck]
[http.services.service1.loadbalancer.healthcheck]
path = "/health"
interval = "1s"
timeout = "0.9s"
[[services.service1.loadbalancer.servers]]
[[http.services.service1.loadbalancer.servers]]
url = "http://{{.Server1}}:80"
weight = 1
[[services.service1.loadbalancer.servers]]
[[http.services.service1.loadbalancer.servers]]
url = "http://{{.Server2}}:80"
weight = 1

View file

@ -1,8 +1,8 @@
[log]
logLevel = "DEBUG"
[entryPoints]
[entryPoints.http]
[entrypoints]
[entrypoints.web]
address = ":8000"
[api]
@ -10,19 +10,19 @@ logLevel = "DEBUG"
[providers]
[providers.file]
[routers]
[routers.router1]
[http.routers]
[http.routers.router1]
service = "service1"
Rule = "Host(`test.localhost`)"
[services]
[services.service1.loadbalancer]
[http.services]
[http.services.service1.loadbalancer]
method = "drr"
[services.service1.loadbalancer.healthcheck]
[http.services.service1.loadbalancer.healthcheck]
path = "/health"
port = 80
interval = "1s"
timeout = "0.9s"
[[services.service1.loadbalancer.servers]]
[[http.services.service1.loadbalancer.servers]]
url = "http://{{.Server1}}:81"
weight = 1

View file

@ -1,8 +1,8 @@
[log]
logLevel = "DEBUG"
[entryPoints]
[entryPoints.http]
[entrypoints]
[entrypoints.web]
address = ":8000"
[api]
@ -10,20 +10,20 @@ logLevel = "DEBUG"
[providers]
[providers.file]
[routers]
[routers.router1]
[http.routers]
[http.routers.router1]
service = "service1"
Rule = "Host(`test.localhost`)"
[services]
[services.service1.loadbalancer]
[services.service1.loadbalancer.healthcheck]
[http.services]
[http.services.service1.loadbalancer]
[http.services.service1.loadbalancer.healthcheck]
path = "/health"
interval = "1s"
timeout = "0.9s"
[[services.service1.loadbalancer.servers]]
[[http.services.service1.loadbalancer.servers]]
url = "http://{{.Server1}}:80"
weight = 1
[[services.service1.loadbalancer.servers]]
[[http.services.service1.loadbalancer.servers]]
url = "http://{{.Server2}}:80"
weight = 1

View file

@ -1,50 +1,49 @@
[log]
logLevel = "DEBUG"
[entryPoints]
[entryPoints.https]
[entrypoints]
[entrypoints.web-secure]
address = ":4443"
[entryPoints.https.tls]
[entryPoints.https.tls.ClientCA]
files = ["fixtures/https/clientca/ca1.crt"]
optional = true
[api]
[providers]
[providers.file]
[Routers]
[Routers.router1]
[http.routers]
[http.routers.router1]
Service = "service1"
Rule = "Host(`snitest.com`)"
[Routers.router2]
[http.routers.router1.tls]
[http.routers.router2]
Service = "service2"
Rule = "Host(`snitest.org`)"
[http.routers.router2.tls]
[Services]
[Services.service1]
[Services.service1.LoadBalancer]
[[Services.service1.LoadBalancer.Servers]]
[http.services]
[http.services.service1]
[http.services.service1.LoadBalancer]
[[http.services.service1.LoadBalancer.Servers]]
URL = "http://127.0.0.1:9010"
Weight = 1
[Services.service2]
[Services.service2.LoadBalancer]
[[Services.service2.LoadBalancer.Servers]]
[http.services.service2]
[http.services.service2.LoadBalancer]
[[http.services.service2.LoadBalancer.Servers]]
URL = "http://127.0.0.1:9020"
Weight = 1
[[tls]]
entryPoints = ["https"]
[tls.certificate]
certFile = "fixtures/https/snitest.com.cert"
keyFile = "fixtures/https/snitest.com.key"
[[tls]]
entryPoints = ["https"]
[tls.certificate]
certFile = "fixtures/https/snitest.org.cert"
keyFile = "fixtures/https/snitest.org.key"
[tlsOptions.default.ClientCA]
files = ["fixtures/https/clientca/ca1.crt"]
optional = true

View file

@ -1,47 +1,47 @@
[log]
logLevel = "DEBUG"
[entryPoints]
[entryPoints.https]
[entrypoints]
[entrypoints.web-secure]
address = ":4443"
[entryPoints.https.tls]
[entryPoints.https.tls.ClientCA]
files = ["fixtures/https/clientca/ca1and2.crt"]
[api]
[providers]
[providers.file]
[Routers]
[Routers.router1]
[http.routers]
[http.routers.router1]
Service = "service1"
Rule = "Host(`snitest.com`)"
[Routers.router2]
[http.routers.router1.tls]
[http.routers.router2]
Service = "service2"
Rule = "Host(`snitest.org`)"
[http.routers.router2.tls]
[Services]
[Services.service1]
[Services.service1.LoadBalancer]
[[Services.service1.LoadBalancer.Servers]]
[http.services]
[http.services.service1]
[http.services.service1.LoadBalancer]
[[http.services.service1.LoadBalancer.Servers]]
URL = "http://127.0.0.1:9010"
Weight = 1
[Services.service2]
[Services.service2.LoadBalancer]
[[Services.service2.LoadBalancer.Servers]]
[http.services.service2]
[http.services.service2.LoadBalancer]
[[http.services.service2.LoadBalancer.Servers]]
URL = "http://127.0.0.1:9020"
Weight = 1
[[tls]]
entryPoints = ["https"]
[tls.certificate]
certFile = "fixtures/https/snitest.com.cert"
keyFile = "fixtures/https/snitest.com.key"
[[tls]]
entryPoints = ["https"]
[tls.certificate]
certFile = "fixtures/https/snitest.org.cert"
keyFile = "fixtures/https/snitest.org.key"
[tlsOptions.default.ClientCA]
files = ["fixtures/https/clientca/ca1and2.crt"]

View file

@ -2,49 +2,48 @@
logLevel = "DEBUG"
[entryPoints]
[entryPoints.https]
[entrypoints]
[entrypoints.web-secure]
address = ":4443"
[entryPoints.https.tls]
[entryPoints.https.tls.ClientCA]
files = ["fixtures/https/clientca/ca1.crt", "fixtures/https/clientca/ca2.crt"]
optional = false
[api]
[providers]
[providers.file]
[Routers]
[Routers.router1]
[http.routers]
[http.routers.router1]
Service = "service1"
Rule = "Host(`snitest.com`)"
[Routers.router2]
[http.routers.router1.tls]
[http.routers.router2]
Service = "service2"
Rule = "Host(`snitest.org`)"
[http.routers.router2.tls]
[Services]
[Services.service1]
[Services.service1.LoadBalancer]
[[Services.service1.LoadBalancer.Servers]]
[http.services]
[http.services.service1]
[http.services.service1.LoadBalancer]
[[http.services.service1.LoadBalancer.Servers]]
URL = "http://127.0.0.1:9010"
Weight = 1
[Services.service2]
[Services.service2.LoadBalancer]
[[Services.service2.LoadBalancer.Servers]]
[http.services.service2]
[http.services.service2.LoadBalancer]
[[http.services.service2.LoadBalancer.Servers]]
URL = "http://127.0.0.1:9020"
Weight = 1
[[tls]]
entryPoints = ["https"]
[tls.certificate]
certFile = "fixtures/https/snitest.com.cert"
keyFile = "fixtures/https/snitest.com.key"
[[tls]]
entryPoints = ["https"]
[tls.certificate]
certFile = "fixtures/https/snitest.org.cert"
keyFile = "fixtures/https/snitest.org.key"
[tlsOptions.default.ClientCA]
files = ["fixtures/https/clientca/ca1.crt", "fixtures/https/clientca/ca2.crt"]
optional = false

View file

@ -1,27 +1,28 @@
[Routers]
[Routers.router1]
Service = "service1"
Rule = "Host(`snitest.com`)"
[Routers.router2]
Service = "service2"
Rule = "Host(`snitest.org`)"
[http.routers]
[http.routers.router1]
service = "service1"
rule = "Host(`snitest.com`)"
[http.routers.router1.tls]
[Services]
[Services.service1]
[Services.service1.LoadBalancer]
[http.routers.router2]
service = "service2"
rule = "Host(`snitest.org`)"
[http.routers.router2.tls]
[[Services.service1.LoadBalancer.Servers]]
URL = "http://127.0.0.1:9010"
Weight = 1
[Services.service2]
[Services.service2.LoadBalancer]
[http.services]
[http.services.service1]
[http.services.service1.LoadBalancer]
[[http.services.service1.LoadBalancer.Servers]]
url = "http://127.0.0.1:9010"
weight = 1
[[Services.service2.LoadBalancer.Servers]]
URL = "http://127.0.0.1:9020"
Weight = 1
[http.services.service2]
[http.services.service2.LoadBalancer]
[[http.services.service2.LoadBalancer.Servers]]
url = "http://127.0.0.1:9020"
weight = 1
[[tls]]
entryPoints = ["https"]
# bad certificates to validate the loop on the certificate appending
[tls.certificate]
# bad content
@ -36,7 +37,6 @@ w/X5M802XqzLjeec5zHoZDfknnAkgR9MsxZYmZPFaDyL6GOKUB8=
-----END RSA PRIVATE KEY-----"""
[[tls]]
entryPoints = ["https"]
[tls.certificate]
certFile = """-----BEGIN CERTIFICATE-----
MIIC/zCCAeegAwIBAgIJALAYHG/vGqWEMA0GCSqGSIb3DQEBBQUAMBYxFDASBgNV

View file

@ -1,15 +1,12 @@
[log]
logLevel = "DEBUG"
logLevel = "DEBUG"
[entrypoints]
[entrypoints.web-secure]
address = ":4443"
[entryPoints]
[entryPoints.https]
address = ":4443"
[entryPoints.https.tls]
[entryPoints.https02]
address = ":8443"
[entryPoints.https02.tls]
[entrypoints.https02]
address = ":8443"
[api]

View file

@ -1,43 +1,43 @@
[log]
logLevel = "DEBUG"
logLevel = "DEBUG"
[entryPoints]
[entryPoints.https]
address = ":4443"
[entryPoints.https.tls]
[entryPoints.https.tls.defaultCertificate]
certFile = "fixtures/https/snitest.com.cert"
keyFile = "fixtures/https/snitest.com.key"
[entrypoints]
[entrypoints.web-secure]
address = ":4443"
[api]
[providers]
[providers.file]
[Routers]
[Routers.router1]
Service = "service1"
Rule = "Host(`snitest.com`)"
[Routers.router2]
Service = "service1"
Rule = "Host(`www.snitest.com`)"
[http.routers]
[http.routers.router1]
service = "service1"
rule = "Host(`snitest.com`)"
[http.routers.router1.tls]
[Services]
[Services.service1]
[Services.service1.LoadBalancer]
[http.routers.router2]
service = "service1"
rule = "Host(`www.snitest.com`)"
[http.routers.router2.tls]
[[Services.service1.LoadBalancer.Servers]]
URL = "http://127.0.0.1:9010"
Weight = 1
[http.services]
[http.services.service1]
[http.services.service1.LoadBalancer]
[[http.services.service1.LoadBalancer.Servers]]
url = "http://127.0.0.1:9010"
weight = 1
[[tls]]
entryPoints = ["https"]
[tls.certificate]
certFile = "fixtures/https/wildcard.snitest.com.cert"
keyFile = "fixtures/https/wildcard.snitest.com.key"
[[tls]]
entryPoints = ["https"]
[tls.certificate]
certFile = "fixtures/https/www.snitest.com.cert"
keyFile = "fixtures/https/www.snitest.com.key"
certFile = "fixtures/https/www.snitest.com.cert"
keyFile = "fixtures/https/www.snitest.com.key"
[tlsStores.default.DefaultCertificate]
certFile = "fixtures/https/snitest.com.cert"
keyFile = "fixtures/https/snitest.com.key"

View file

@ -1,102 +1,169 @@
[log]
logLevel = "DEBUG"
logLevel = "DEBUG"
[entrypoints]
[entrypoints.web]
address = ":8888"
[entryPoints]
[entryPoints.http]
address = ":8888"
[entryPoints.https]
address = ":8443"
[entryPoints.https.tls]
[entrypoints.web-secure]
address = ":8443"
[api]
[providers]
[providers.file]
[providers.file]
[Routers]
[Routers.router1]
Service = "service1"
Middlewares = ["redirect-https"]
Rule = "Host(`example.com`)"
[http.routers]
[http.routers.router1]
entrypoints = [ "web" ]
rule = "Host(`example.com`)"
middlewares = ["redirect-https"]
service = "service1"
[Routers.router2]
Service = "service1"
Middlewares = ["redirect-https", "api-slash-strip"]
Rule = "Host(`example2.com`)"
[http.routers.router1TLS]
entrypoints = [ "web-secure" ]
rule = "Host(`example.com`)"
service = "service1"
[http.routers.router1TLS.tls]
[Routers.router3]
Service = "service1"
Middlewares = ["redirect-https", "foo-add-prefix"]
Rule = "Host(`test.com`)"
[http.routers.router2]
entrypoints = [ "web" ]
rule = "Host(`example2.com`)"
middlewares = ["redirect-https", "api-slash-strip"]
service = "service1"
[Routers.router4]
Service = "service1"
Middlewares = ["redirect-https", "foo-slash-add-prefix"]
Rule = "Host(`test2.com`)"
[http.routers.router2TLS]
entrypoints = [ "web-secure" ]
rule = "Host(`example2.com`)"
service = "service1"
[http.routers.router2TLS.tls]
[Routers.router5]
Service = "service1"
Middlewares = ["redirect-https", "id-strip-regex-prefix"]
Rule = "Host(`foo.com`)"
[http.routers.router3]
entrypoints = [ "web" ]
rule = "Host(`test.com`)"
middlewares = ["redirect-https", "foo-add-prefix"]
service = "service1"
[Routers.router6]
Service = "service1"
Middlewares = ["redirect-https", "id-slash-strip-regex-prefix"]
Rule = "Host(`foo2.com`)"
[http.routers.router3TLS]
entrypoints = [ "web-secure" ]
rule = "Host(`test.com`)"
service = "service1"
[http.routers.router3TLS.tls]
[Routers.router7]
Service = "service1"
Middlewares = ["redirect-https", "api-regex-replace"]
Rule = "Host(`bar.com`)"
[http.routers.router4]
entrypoints = [ "web" ]
rule = "Host(`test2.com`)"
middlewares = ["redirect-https", "foo-slash-add-prefix"]
service = "service1"
[Routers.router8]
Service = "service1"
Middlewares = ["redirect-https", "api-slash-regex-replace"]
Rule = "Host(`bar2.com`)"
[http.routers.router4TLS]
entrypoints = [ "web-secure" ]
rule = "Host(`test2.com`)"
service = "service1"
[http.routers.router4TLS.tls]
[Routers.router9]
Service = "service1"
Middlewares = ["redirect-https", "api-replace-path"]
Rule = "Host(`pow.com`)"
[http.routers.router5]
entrypoints = [ "web" ]
rule = "Host(`foo.com`)"
middlewares = ["redirect-https", "id-strip-regex-prefix"]
service = "service1"
[Routers.router10]
Service = "service1"
Middlewares = ["redirect-https", "api-slash-replace-path"]
Rule = "Host(`pow2.com`)"
[http.routers.router5TLS]
entrypoints = [ "web-secure" ]
rule = "Host(`foo.com`)"
service = "service1"
[http.routers.router5TLS.tls]
[Middlewares]
[Middlewares.api-strip.StripPrefix]
[http.routers.router6]
entrypoints = [ "web" ]
rule = "Host(`foo2.com`)"
middlewares = ["redirect-https", "id-slash-strip-regex-prefix"]
service = "service1"
[http.routers.router6TLS]
entrypoints = [ "web-secure" ]
rule = "Host(`foo2.com`)"
service = "service1"
[http.routers.router6TLS.tls]
[http.routers.router7]
entrypoints = [ "web" ]
rule = "Host(`bar.com`)"
middlewares = ["redirect-https", "api-regex-replace"]
service = "service1"
[http.routers.router7TLS]
entrypoints = [ "web-secure" ]
rule = "Host(`bar.com`)"
service = "service1"
[http.routers.router7TLS.tls]
[http.routers.router8]
entrypoints = [ "web" ]
rule = "Host(`bar2.com`)"
middlewares = ["redirect-https", "api-slash-regex-replace"]
service = "service1"
[http.routers.router8TLS]
entrypoints = [ "web-secure" ]
rule = "Host(`bar2.com`)"
service = "service1"
[http.routers.router8TLS.tls]
[http.routers.router9]
entrypoints = [ "web" ]
rule = "Host(`pow.com`)"
middlewares = ["redirect-https", "api-replace-path"]
service = "service1"
[http.routers.router9TLS]
entrypoints = [ "web-secure" ]
rule = "Host(`pow.com`)"
service = "service1"
[http.routers.router9TLS.tls]
[http.routers.router10]
entrypoints = [ "web" ]
rule = "Host(`pow2.com`)"
middlewares = ["redirect-https", "api-slash-replace-path"]
service = "service1"
[http.routers.router10TLS]
entrypoints = [ "web-secure" ]
rule = "Host(`pow2.com`)"
service = "service1"
[http.routers.router10TLS.tls]
[http.middlewares]
[http.middlewares.api-strip.StripPrefix]
prefixes = ["/api"]
[Middlewares.api-slash-strip.StripPrefix]
[http.middlewares.api-slash-strip.StripPrefix]
prefixes = ["/api/"]
[Middlewares.foo-add-prefix.AddPrefix]
[http.middlewares.foo-add-prefix.AddPrefix]
prefix = "/foo"
[Middlewares.foo-slash-add-prefix.AddPrefix]
[http.middlewares.foo-slash-add-prefix.AddPrefix]
prefix = "/foo/"
[Middlewares.id-strip-regex-prefix.StripPrefixRegex]
[http.middlewares.id-strip-regex-prefix.StripPrefixRegex]
regex = ["/{id:[a-z]+}"]
[Middlewares.id-slash-strip-regex-prefix.StripPrefixRegex]
[http.middlewares.id-slash-strip-regex-prefix.StripPrefixRegex]
regex = ["/{id:[a-z]+}/"]
[Middlewares.api-regex-replace.ReplacePathRegex]
[http.middlewares.api-regex-replace.ReplacePathRegex]
regex = "/api"
replacement = "/"
[Middlewares.api-slash-regex-replace.ReplacePathRegex]
[http.middlewares.api-slash-regex-replace.ReplacePathRegex]
regex = "/api/"
replacement = "/"
[Middlewares.api-replace-path.ReplacePath]
[http.middlewares.api-replace-path.ReplacePath]
path = "/api"
[Middlewares.api-slash-replace-path.ReplacePath]
[http.middlewares.api-slash-replace-path.ReplacePath]
path = "/api/"
[Middlewares.redirect-https.redirectScheme]
[http.middlewares.redirect-https.redirectScheme]
scheme = "https"
port = "8443"
[Services]
[Services.service1]
[Services.service1.LoadBalancer]
[[Services.service1.LoadBalancer.Servers]]
URL = "http://127.0.0.1:80"
Weight = 1
[http.services]
[http.services.service1]
[http.services.service1.LoadBalancer]
[[http.services.service1.LoadBalancer.Servers]]
url = "http://127.0.0.1:80"
weight = 1

View file

@ -1,46 +1,45 @@
[log]
logLevel = "DEBUG"
logLevel = "DEBUG"
[entryPoints]
[entryPoints.https]
[entrypoints]
[entrypoints.web-secure]
address = ":4443"
[entryPoints.https.tls]
[api]
[providers]
[providers.file]
[Routers]
[Routers.router1]
[http.routers]
[http.routers.router1]
Service = "service1"
Rule = "Host(`snitest.com`)"
[Routers.router2]
[http.routers.router1.tls]
[http.routers.router2]
Service = "service2"
Rule = "Host(`snitest.org`)"
[http.routers.router2.tls]
[Services]
[Services.service1]
[Services.service1.LoadBalancer]
[[Services.service1.LoadBalancer.Servers]]
[http.services]
[http.services.service1]
[http.services.service1.LoadBalancer]
[[http.services.service1.LoadBalancer.Servers]]
URL = "http://127.0.0.1:9010"
Weight = 1
[Services.service2]
[Services.service2.LoadBalancer]
[[Services.service2.LoadBalancer.Servers]]
[http.services.service2]
[http.services.service2.LoadBalancer]
[[http.services.service2.LoadBalancer.Servers]]
URL = "http://127.0.0.1:9020"
Weight = 1
[[tls]]
entryPoints = ["https"]
[tls.certificate]
certFile = "fixtures/https/snitest.com.cert"
keyFile = "fixtures/https/snitest.com.key"
[[tls]]
entryPoints = ["https"]
[tls.certificate]
certFile = "fixtures/https/snitest.org.cert"
keyFile = "fixtures/https/snitest.org.key"

View file

@ -1,36 +1,37 @@
logLevel = "DEBUG"
[entryPoints]
[entryPoints.https]
address = ":4443"
[entryPoints.https.tls]
[entryPoints.https.tls.defaultCertificate]
certFile = "fixtures/https/wildcard.snitest.com.cert"
keyFile = "fixtures/https/wildcard.snitest.com.key"
[entrypoints]
[entrypoints.web-secure]
address = ":4443"
[api]
[providers]
[providers.file]
[Routers]
[Routers.router1]
Service = "service1"
[http.routers]
[http.routers.router1]
rule = "HostRegexp(`{subdomain:[a-z1-9-]+}.snitest.com`)"
[Routers.router2]
Service = "service1"
service = "service1"
[http.routers.router1.tls]
[http.routers.router2]
rule = "HostRegexp(`{subdomain:[a-z1-9-]+}.www.snitest.com`)"
service = "service1"
[http.routers.router2.tls]
[Services]
[Services.service1]
[Services.service1.LoadBalancer]
[[Services.service1.LoadBalancer.Servers]]
URL = "http://127.0.0.1:9010"
Weight = 1
[http.services]
[http.services.service1]
[http.services.service1.LoadBalancer]
[[http.services.service1.LoadBalancer.Servers]]
url = "http://127.0.0.1:9010"
weight = 1
[[tls]]
entryPoints = ["https"]
[tls.certificate]
certFile = "fixtures/https/uppercase_wildcard.www.snitest.com.cert"
keyFile = "fixtures/https/uppercase_wildcard.www.snitest.com.key"
[tlsStores.default.DefaultCertificate]
certFile = "fixtures/https/wildcard.snitest.com.cert"
keyFile = "fixtures/https/wildcard.snitest.com.key"

View file

@ -1,44 +1,43 @@
[log]
logLevel = "DEBUG"
logLevel = "DEBUG"
[entryPoints]
[entryPoints.https]
address = ":4443"
[entryPoints.https.tls]
[entryPoints.https.tls.DefaultCertificate]
certFile = "fixtures/https/snitest.com.cert"
keyFile = "fixtures/https/snitest.com.key"
[entrypoints]
[entrypoints.web-secure]
address = ":4443"
[api]
[providers]
[providers.file]
[Routers]
[Routers.router1]
Service = "service1"
Rule = "Host(`snitest.com`)"
[Routers.router2]
Service = "service1"
Rule = "Host(`www.snitest.com`)"
[http.routers]
[http.routers.router1]
service = "service1"
rule = "Host(`snitest.com`)"
[http.routers.router1.tls]
[Services]
[Services.service1]
[Services.service1.LoadBalancer]
[http.routers.router2]
service = "service1"
rule = "Host(`www.snitest.com`)"
[http.routers.router2.tls]
[[Services.service1.LoadBalancer.Servers]]
URL = "http://127.0.0.1:9010"
Weight = 1
[http.services]
[http.services.service1]
[http.services.service1.LoadBalancer]
[[http.services.service1.LoadBalancer.Servers]]
url = "http://127.0.0.1:9010"
weight = 1
[[tls]]
entryPoints = ["https"]
[tls.certificate]
certFile = "fixtures/https/wildcard.snitest.com.cert"
keyFile = "fixtures/https/wildcard.snitest.com.key"
[[tls]]
entryPoints = ["https"]
[tls.certificate]
certFile = "fixtures/https/www.snitest.com.cert"
keyFile = "fixtures/https/www.snitest.com.key"
[tlsStores.default.DefaultCertificate]
certFile = "fixtures/https/snitest.com.cert"
keyFile = "fixtures/https/snitest.com.key"

View file

@ -1,30 +1,33 @@
[log]
logLevel = "DEBUG"
logLevel = "DEBUG"
[entryPoints]
[entryPoints.https]
address = ":4443"
[entryPoints.https.tls]
sniStrict = true
[entryPoints.https.tls.defaultCertificate]
certFile = "fixtures/https/snitest.com.cert"
keyFile = "fixtures/https/snitest.com.key"
[entrypoints]
[entrypoints.web-secure]
address = ":4443"
[api]
[providers]
[providers.file]
[Routers]
[Routers.router1]
Service = "service1"
Rule = "Host(`snitest.com`)"
[http.routers]
[http.routers.router1]
service = "service1"
rule = "Host(`snitest.com`)"
[http.routers.router1.tls]
[Services]
[Services.service1]
[Services.service1.LoadBalancer]
[http.services]
[http.services.service1]
[http.services.service1.LoadBalancer]
[[http.services.service1.LoadBalancer.Servers]]
url = "http://127.0.0.1:9010"
weight = 1
[tlsOptions.default]
sniStrict = true
[tlsStores.default]
[tlsStores.default.DefaultCertificate]
certFile = "fixtures/https/snitest.com.cert"
keyFile = "fixtures/https/snitest.com.key"
[[Services.service1.LoadBalancer.Servers]]
URL = "http://127.0.0.1:9010"
Weight = 1

View file

@ -21,8 +21,8 @@ fblo6RBxUQ==
-----END CERTIFICATE-----
"""]
[entryPoints]
[entryPoints.http]
[entrypoints]
[entrypoints.web]
address = ":8081"
[api]
@ -30,15 +30,15 @@ fblo6RBxUQ==
[providers]
[providers.file]
[Routers]
[Routers.router1]
[http.routers]
[http.routers.router1]
Service = "service1"
Rule = "Path(`/ping`)"
[Services]
[Services.service1]
[Services.service1.LoadBalancer]
[http.services]
[http.services.service1]
[http.services.service1.LoadBalancer]
[[Services.service1.LoadBalancer.Servers]]
[[http.services.service1.LoadBalancer.Servers]]
URL = "{{ .BackendHost }}"
Weight = 1

View file

@ -5,8 +5,8 @@ logLevel = "DEBUG"
# Use certificate in net/internal/testcert.go
rootCAs = [ "fixtures/https/rootcas/local.crt"]
[entryPoints]
[entryPoints.http]
[entrypoints]
[entrypoints.web]
address = ":8081"
[api]
@ -14,15 +14,15 @@ rootCAs = [ "fixtures/https/rootcas/local.crt"]
[providers]
[providers.file]
[Routers]
[Routers.router1]
[http.routers]
[http.routers.router1]
Service = "service1"
Rule = "Path(`/ping`)"
[Services]
[Services.service1]
[Services.service1.LoadBalancer]
[http.services]
[http.services.service1]
[http.services.service1.LoadBalancer]
[[Services.service1.LoadBalancer.Servers]]
[[http.services.service1.LoadBalancer.Servers]]
URL = "{{ .BackendHost }}"
Weight = 1

View file

@ -4,8 +4,8 @@ keepTrailingSlash = {{ .KeepTrailingSlash }}
logLevel = "DEBUG"
[entryPoints]
[entryPoints.http]
[entrypoints]
[entrypoints.web]
address = ":8000"
[providers]

View file

@ -8,10 +8,10 @@ filePath = "access.log"
filePath = "traefik.log"
logLevel = "ERROR"
[entryPoints]
[entryPoints.http]
[entrypoints]
[entrypoints.web]
address = ":8000"
[entryPoints.api]
[entrypoints.api]
address = ":7888"
checkNewVersion = false
@ -31,15 +31,15 @@ entryPoint = "api"
################################################################
# rules
################################################################
[Routers]
[Routers.router1]
[http.routers]
[http.routers.router1]
Service = "service1"
Rule = "Path(`/test1`)"
[Services]
[Services.service1]
[Services.service1.LoadBalancer]
[http.services]
[http.services.service1]
[http.services.service1.LoadBalancer]
[[Services.service1.LoadBalancer.Servers]]
[[http.services.service1.LoadBalancer.Servers]]
URL = "http://127.0.0.1:8081"
Weight = 1

View file

@ -1,10 +1,10 @@
[log]
logLevel = "DEBUG"
[entryPoints]
[entryPoints.http]
[entrypoints]
[entrypoints.web]
address = ":8000"
[entryPoints.api]
[entrypoints.api]
address = ":9090"
[api]

View file

@ -1,8 +1,8 @@
[log]
logLevel = "DEBUG"
[entryPoints]
[entryPoints.http]
[entrypoints]
[entrypoints.web]
address = ":8000"
[providers]

View file

@ -1,8 +1,8 @@
[global]
debug=true
[entryPoints]
[entryPoints.http]
[entrypoints]
[entrypoints.web]
address = ":8000"
[api]
@ -15,15 +15,15 @@ debug=true
[providers.file]
[Routers]
[Routers.router-1]
[http.routers]
[http.routers.router-1]
Service = "service-test"
Rule = "PathPrefix(`/file`)"
[Services]
[Services.service-test]
[Services.service-test.LoadBalancer]
[http.services]
[http.services.service-test]
[http.services.service-test.LoadBalancer]
[[Services.service-test.LoadBalancer.Servers]]
[[http.services.service-test.LoadBalancer.Servers]]
URL = "http://{{ .IP }}"
Weight = 1

View file

@ -3,8 +3,8 @@ logLevel = "DEBUG"
[api]
[entryPoints]
[entryPoints.http]
[entrypoints]
[entrypoints.web]
address = ":8000"
[Providers]
@ -12,13 +12,13 @@ logLevel = "DEBUG"
[Providers.File]
[Services]
[Services.service]
[Services.service.LoadBalancer]
[http.services]
[http.services.service]
[http.services.service.LoadBalancer]
[[Services.service.LoadBalancer.Servers]]
[[http.services.service.LoadBalancer.Servers]]
URL = "{{.Server}}"
Weight = 1
[Middlewares]
[Middlewares.customheader.Headers.CustomRequestHeaders]
[http.middlewares]
[http.middlewares.customheader.Headers.CustomRequestHeaders]
X-Custom="CustomValue"

View file

@ -1,10 +1,10 @@
[log]
logLevel = "DEBUG"
[entryPoints]
[entryPoints.http]
[entrypoints]
[entrypoints.web]
address = ":8000"
[entryPoints.http.proxyProtocol]
[entrypoints.web.proxyProtocol]
trustedIPs = ["{{.HaproxyIP}}"]
[api]
@ -12,15 +12,15 @@ logLevel = "DEBUG"
[providers]
[providers.file]
[Routers]
[Routers.router1]
[http.routers]
[http.routers.router1]
Service = "service1"
Rule = "Path(`/whoami`)"
[Services]
[Services.service1]
[Services.service1.LoadBalancer]
[http.services]
[http.services.service1]
[http.services.service1.LoadBalancer]
[[Services.service1.LoadBalancer.Servers]]
[[http.services.service1.LoadBalancer.Servers]]
URL = "http://{{.WhoamiIP}}"
Weight = 1

View file

@ -1,10 +1,10 @@
[log]
logLevel = "DEBUG"
[entryPoints]
[entryPoints.http]
[entrypoints]
[entrypoints.web]
address = ":8000"
[entryPoints.http.proxyProtocol]
[entrypoints.web.proxyProtocol]
trustedIPs = ["1.2.3.4"]
[api]
@ -12,15 +12,15 @@ logLevel = "DEBUG"
[providers]
[providers.file]
[Routers]
[Routers.router1]
[http.routers]
[http.routers.router1]
Service = "service1"
Rule = "Path(`/whoami`)"
[Services]
[Services.service1]
[Services.service1.LoadBalancer]
[http.services]
[http.services.service1]
[http.services.service1.LoadBalancer]
[[Services.service1.LoadBalancer.Servers]]
[[http.services.service1.LoadBalancer.Servers]]
URL = "http://{{.WhoamiIP}}"
Weight = 1

View file

@ -1,35 +1,35 @@
[log]
logLevel = "DEBUG"
[entryPoints]
[entryPoints.http]
[entrypoints]
[entrypoints.web]
address = ":80"
[providers]
[providers.file]
[Routers]
[Routers.router1]
[http.routers]
[http.routers.router1]
Service = "service1"
Middlewares = [ "ratelimit" ]
Rule = "Path(`/`)"
[Middlewares]
[Middlewares.ratelimit.RateLimit]
[http.middlewares]
[http.middlewares.ratelimit.RateLimit]
extractorfunc = "client.ip"
[Middlewares.ratelimit.RateLimit.rateset.rateset1]
[http.middlewares.ratelimit.RateLimit.rateset.rateset1]
period = "60s"
average = 4
burst = 5
[Middlewares.ratelimit.RateLimit.rateset.rateset2]
[http.middlewares.ratelimit.RateLimit.rateset.rateset2]
period = "3s"
average = 1
burst = 2
[Services]
[Services.service1]
[Services.service1.LoadBalancer]
[http.services]
[http.services.service1]
[http.services.service1.LoadBalancer]
passHostHeader = true
[[Services.service1.LoadBalancer.Servers]]
[[http.services.service1.LoadBalancer.Servers]]
URL = "http://{{.Server1}}:80"
Weight = 1

View file

@ -1,32 +1,30 @@
[log]
logLevel = "DEBUG"
[entryPoints]
[entryPoints.http]
[entrypoints]
[entrypoints.web]
address = ":8000"
[entryPoints.http.transport.lifeCycle]
[entrypoints.web.transport.lifeCycle]
RequestAcceptGraceTimeout = "10s"
[entryPoints.traefik]
[entrypoints.traefik]
address = ":8001"
[entryPoints.traefik.transport.lifeCycle]
[entrypoints.traefik.transport.lifeCycle]
RequestAcceptGraceTimeout = "10s"
[providers]
[providers.file]
[Routers]
[Routers.router]
[http.routers]
[http.routers.router]
Service = "service"
Rule = "Path(`/service`)"
[Services]
[Services.service]
[Services.service.LoadBalancer]
[http.services]
[http.services.service]
[http.services.service.LoadBalancer]
[[Services.service.LoadBalancer.Servers]]
[[http.services.service.LoadBalancer.Servers]]
URL = "{{.Server}}"
Weight = 1

View file

@ -1,6 +1,6 @@
[entryPoints]
[entryPoints.http]
[entrypoints]
[entrypoints.web]
address = ":8000"
[api]

View file

@ -1,8 +1,8 @@
[log]
logLevel = "DEBUG"
[entryPoints]
[entryPoints.http]
[entrypoints]
[entrypoints.web]
address = ":8000"
[api]
@ -10,23 +10,23 @@ logLevel = "DEBUG"
[providers]
[providers.file]
[Routers]
[Routers.router1]
[http.routers]
[http.routers.router1]
Service = "service1"
Middlewares = [ "retry" ]
Rule = "PathPrefix(`/`)"
[Middlewares.retry.Retry]
[http.middlewares.retry.Retry]
Attempts = 3
[Services]
[Services.service1]
[Services.service1.LoadBalancer]
[http.services]
[http.services.service1]
[http.services.service1.LoadBalancer]
[[Services.service1.LoadBalancer.Servers]]
[[http.services.service1.LoadBalancer.Servers]]
URL = "http://{{.WhoamiEndpoint}}:8080"
Weight = 1
[[Services.service1.LoadBalancer.Servers]]
[[http.services.service1.LoadBalancer.Servers]]
URL = "http://{{.WhoamiEndpoint}}:80"
Weight = 1

View file

@ -1,14 +1,13 @@
[log]
logLevel = "DEBUG"
[entryPoints]
[entryPoints.http]
[entrypoints]
[entrypoints.web]
address = ":8000"
[entryPoints.traefik]
[entrypoints.traefik]
address = ":8001"
[api]
middlewares = ["file.authentication"]
@ -16,6 +15,6 @@ logLevel = "DEBUG"
[providers.file]
[middlewares]
[middlewares.authentication.basicauth]
[http.middlewares]
[http.middlewares.authentication.basicauth]
users = ["test:$apr1$H6uskkkW$IgXLP6ewTrSuBkTrqE8wj/", "test2:$apr1$d9hr9HBB$4HxwgUir3HP4EsggP/QNo0"]

View file

@ -1,4 +1,4 @@
[entryPoints]
[entryPoints.http]
[entrypoints]
[entrypoints.web]
address = ":8000"

View file

@ -1,8 +1,8 @@
[log]
logLevel = "DEBUG"
[entryPoints]
[entryPoints.http]
[entrypoints]
[entrypoints.web]
address = ":8000"
[api]

View file

@ -1,8 +1,8 @@
[global]
debug=true
[entryPoints]
[entryPoints.http]
[entrypoints]
[entrypoints.web]
address = ":8000"
[api]
@ -10,26 +10,26 @@ debug=true
[providers]
[providers.file]
[Routers]
[Routers.router1]
EntryPoints = ["http"]
[http.routers]
[http.routers.router1]
EntryPoints = ["web"]
Service = "service1"
Rule = "PathPrefix(`/whoami`)"
[Routers.router2]
[http.routers.router2]
EntryPoints = ["traefik"]
Service = "service2"
Rule = "PathPrefix(`/whoami`)"
[Services]
[Services.service1]
[Services.service1.LoadBalancer]
[[Services.service1.LoadBalancer.Servers]]
[http.services]
[http.services.service1]
[http.services.service1.LoadBalancer]
[[http.services.service1.LoadBalancer.Servers]]
URL = "{{ .Server1 }}"
Weight = 1
[Services.service2]
[Services.service2.LoadBalancer]
[[Services.service2.LoadBalancer.Servers]]
[http.services.service2]
[http.services.service2.LoadBalancer]
[[http.services.service2.LoadBalancer.Servers]]
URL = "{{ .Server2 }}"
Weight = 1

View file

@ -1,8 +1,8 @@
[log]
logLevel = "DEBUG"
[entryPoints]
[entryPoints.http]
[entrypoints]
[entrypoints.web]
address = ":8000"
[api]

View file

@ -1,12 +1,12 @@
[log]
logLevel = "DEBUG"
[entryPoints]
[entryPoints.http]
[entrypoints]
[entrypoints.web]
address = ":8000"
[entryPoints.http.ForwardedHeaders]
[entrypoints.web.ForwardedHeaders]
insecure=true
[entryPoints.http.ClientIPStrategy]
[entrypoints.web.ClientIPStrategy]
depth=2
[api]

View file

@ -0,0 +1,73 @@
[entrypoints]
[entrypoints.tcp]
address = ":8093"
[api]
[providers.file]
[http]
[http.routers]
[http.routers.my-router]
rule = "Path(`/test`)"
service = "whoami"
entrypoint=["tcp"]
[http.routers.my-https-router]
entrypoints=["tcp"]
rule = "Path(`/whoami/`)"
service = "whoami"
[http.routers.my-https-router.tls]
[http.services]
[http.services.whoami.loadbalancer]
[[http.services.whoami.loadbalancer.servers]]
url = "http://localhost:8085"
weight=1
[tcp]
[tcp.routers]
[tcp.routers.to-whoami-a]
rule = "HostSNI(`whoami-a.test`)"
service = "whoami-a"
entrypoints = [ "tcp" ]
[tcp.routers.to-whoami-a.tls]
passthrough=true
[tcp.routers.to-whoami-b]
rule = "HostSNI(`whoami-b.test`)"
service = "whoami-b"
entrypoints = [ "tcp" ]
[tcp.routers.to-whoami-b.tls]
passthrough=true
[tcp.routers.to-whoami-no-cert]
rule = "HostSNI(`whoami-c.test`)"
service = "whoami-no-cert"
entrypoints = [ "tcp" ]
[tcp.routers.to-whoami-no-cert.tls]
[tcp.services.whoami-a]
[tcp.services.whoami-a.loadbalancer]
method = "wrr"
[[tcp.services.whoami-a.loadbalancer.servers]]
address = "localhost:8081"
weight = 1
[tcp.services.whoami-b]
[tcp.services.whoami-b.loadbalancer]
method = "wrr"
[[tcp.services.whoami-b.loadbalancer.servers]]
address = "localhost:8082"
weight = 1
[tcp.services.whoami-no-cert]
[tcp.services.whoami-no-cert.loadbalancer]
method = "wrr"
[[tcp.services.whoami-no-cert.loadbalancer.servers]]
address = "localhost:8083"
weight = 1
[[tls]]
[tls.certificate]
certFile = "fixtures/tcp/whoami-c.crt"
keyFile = "fixtures/tcp/whoami-c.key"

View file

@ -0,0 +1,63 @@
[entrypoints]
[entrypoints.tcp]
address = ":8093"
[api]
[global]
debug = true
[providers.file]
[tcp]
[tcp.routers]
[tcp.routers.to-whoami-a]
rule = "HostSNI(`whoami-a.test`)"
service = "whoami-a"
entrypoints = [ "tcp" ]
[tcp.routers.to-whoami-a.tls]
passthrough=true
[tcp.routers.to-whoami-b]
rule = "HostSNI(`whoami-b.test`)"
service = "whoami-b"
entrypoints = [ "tcp" ]
[tcp.routers.to-whoami-b.tls]
passthrough=true
[tcp.routers.to-whoami-no-cert]
rule = "HostSNI(`whoami-c.test`)"
service = "whoami-no-cert"
entrypoints = [ "tcp" ]
[tcp.routers.to-whoami-no-cert.tls]
[tcp.routers.to-whoami-no-tls]
entrypoints = ["tcp"]
rule="HostSNI(`*`)"
service = "whoami-no-tls"
[tcp.services]
[tcp.services.whoami-no-tls.loadbalancer]
[[tcp.services.whoami-no-tls.loadbalancer.servers]]
address = "localhost:8084"
[tcp.services.whoami-a]
[tcp.services.whoami-a.loadbalancer]
method = "wrr"
[[tcp.services.whoami-a.loadbalancer.servers]]
address = "localhost:8081"
weight = 1
[tcp.services.whoami-b]
[tcp.services.whoami-b.loadbalancer]
method = "wrr"
[[tcp.services.whoami-b.loadbalancer.servers]]
address = "localhost:8082"
weight = 1
[tcp.services.whoami-no-cert]
[tcp.services.whoami-no-cert.loadbalancer]
method = "wrr"
[[tcp.services.whoami-no-cert.loadbalancer.servers]]
address = "localhost:8083"
weight = 1

View file

@ -0,0 +1,22 @@
[entrypoints]
[entrypoints.tcp]
address = ":8093"
[api]
[global]
debug = true
[providers.file]
[tcp]
[tcp.routers]
[tcp.routers.to-whoami-no-tls]
entrypoints = ["tcp"]
rule="HostSNI(`*`)"
service = "whoami-no-tls"
[tcp.services]
[tcp.services.whoami-no-tls.loadbalancer]
[[tcp.services.whoami-no-tls.loadbalancer.servers]]
address = "localhost:8084"

View file

@ -0,0 +1,17 @@
-----BEGIN CERTIFICATE-----
MIICrDCCAZQCCQDlk0DXaomRQjANBgkqhkiG9w0BAQsFADAYMRYwFAYDVQQDDA13
aG9hbWktYS50ZXN0MB4XDTE5MDIyNTE1NTMyN1oXDTIwMDIyNTE1NTMyN1owGDEW
MBQGA1UEAwwNd2hvYW1pLWEudGVzdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC
AQoCggEBAJvexSEnLjqdkRCUlkfkpNTiSLlVaJFpGuThcETtommAlM2oE9pbXnVX
PYyT/HRrd/ecI5EtU4P7Mh1iGxopjPuHWSyMxlhFJb9yziDaoizLtFQoHCUM7wd6
hGFu7/zscQ6VBKRzP1A/iUdn6xIKwl5ggbqKHd1+5KOf0hpFSITKOdfWQtBAje/L
SY8SEn/3lcfGcLq57JxSW7TslW140Yd8MJfAU+P7DfEO8MQesl+b8CV/QjshQn+d
5j5LBvWHQby8IZGfigAsAM6NNZEnm77mbr87mBP4sk8ayjzGdkTiIyY3u4/OR34A
Ybx+EBK37weMxoLALEtCWO8+RKcfvX0CAwEAATANBgkqhkiG9w0BAQsFAAOCAQEA
P8GTdBRlGmIk//R1CQtsaF2+xkFJ40TfGd6P/I3jHZPLcxEIiqdKCa9Bkfn2VMEB
dEruIgOvuSs8IjfkahtErKZaDgGt1gnwutUhi8N2Kw/EM/tG2w/a5A2K4XlVC/Rq
W/dQqDAlD2H/VtA15Ov3VctaxP6ouGyoz3w2ycKFqbAwz4POuF6gzgOSKs5saMvP
D4lNn2a4zFfiaRh9GsdinvYx4MP2ploPhScp2GHWve9EZVPs2rpza7jHdws18Hgs
w9wRY2iASYNu+3yZvCKbBA6BaCektyifspyoDd1xxUhnqIjZCKyvZZZxtjbBObt+
LyvN9Z22WHCewBB5cycqJg==
-----END CERTIFICATE-----

View file

@ -0,0 +1,28 @@
-----BEGIN PRIVATE KEY-----
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCb3sUhJy46nZEQ
lJZH5KTU4ki5VWiRaRrk4XBE7aJpgJTNqBPaW151Vz2Mk/x0a3f3nCORLVOD+zId
YhsaKYz7h1ksjMZYRSW/cs4g2qIsy7RUKBwlDO8HeoRhbu/87HEOlQSkcz9QP4lH
Z+sSCsJeYIG6ih3dfuSjn9IaRUiEyjnX1kLQQI3vy0mPEhJ/95XHxnC6ueycUlu0
7JVteNGHfDCXwFPj+w3xDvDEHrJfm/Alf0I7IUJ/neY+Swb1h0G8vCGRn4oALADO
jTWRJ5u+5m6/O5gT+LJPGso8xnZE4iMmN7uPzkd+AGG8fhASt+8HjMaCwCxLQljv
PkSnH719AgMBAAECggEAeMyKTGpYGpdZANeXLHqYAGCq6e+2TdN+Q1owL0tX7pn3
OPeFA1qCd0A4dEWQhw1u+Vhp/C57pjK8oScSSBFhsOIxiyRC59AXNCuecrnerAbn
Z716KoC+kzYxeG2I0qTP7fQxl921eNT06IEyHlZ2UrxKbi5yfOHGAsVvCGsfi8EU
qYl+tJjAi2mEzDv7BB5SgnP933L5Z4HX2PtSod3S2gQOV3/fPf9MKuOakKU+ryor
6zkqlk3zM9O8fZBMakOEw8BqeYUiy7WdlL571g9DUFk8j82CICyP1UXu91c1X4Qw
J7fqM/Sj8zz5AITvUbMBin1QjN/FrWehG54RL44oJQKBgQDLs+oYPrZoNgEVu2x3
FnLJWX1HBH4jXaqiQWNZbuxiiHjs5CXWMzCatUEthS59EFjKTcnTfw/KKrxMpQWB
ccbUFdLLD2R6SZYo1BYvso9pIdhwr8EN68/46QGzdUWEyrr4qpVPKFbZNx2XS6UU
o1qoX73qpnt2ApGvg7uEpPDHUwKBgQDD4x/Ftl8feuMVzZrQioVLXGKigSugtWHi
frwT0o4K98fK52GK118OcUmCSSK+y7zDj38W4rGxQeZhsMuofcJWpE9ObKkMZHjq
h59JYtm7/3aIcNDdV80cw24C29r6m0EuLtc15PW0d9zOiTuSDhc3EtQkDRjLH+Hw
F+G+r1Hd7wKBgBc/2aAayEbsowMP+Tk+XquMgzfv01XGAwux2t0CRAia+vJOt+LS
xOFjfqTrZnrvurKcXkS9Y9f3OLamvxIfIkpik0SJ5TXv4CuYyU94WdXt/v4dkTM9
juch8QfCgsS9PsnS7meyevcfy0jRYW4Rlu9QviRiDAVUFbyqlGR3TuPxAoGBAI8L
or4MqXYhlQbs9+rl3OTleBnXXfajvfFaPxnynkugGcQwJ2juUboIPHfp1Hej7Bqb
BWG+9afNyeD47CAEhhAjOM66RtCH5kzN8SH0D7Bbo0GLsNqSLXSdug5YYpazHWwO
RJZUtqCtDw+740aLB6TuGQCil8Jta96acf1/pbb9AoGAHgsLGROMhPGkhtsKopbZ
DBk3MMQzQpGW4VNrsdB/IngfACWFuyUsbq2wz34hzqZhscPxUlWTvGYFncsmhXQK
DzzUSurhAx1p4EuTvOwR9/+Ix6bZjXJRJ97PLWukoyKu0kHeinz1KHNHPqACWhrn
TxAR+4Nxzl9BGraAYSDFzCw=
-----END PRIVATE KEY-----

View file

@ -0,0 +1,17 @@
-----BEGIN CERTIFICATE-----
MIICrDCCAZQCCQDcDAGQQnwhwTANBgkqhkiG9w0BAQsFADAYMRYwFAYDVQQDDA13
aG9hbWktYi50ZXN0MB4XDTE5MDIyNTE1NTM1NFoXDTIwMDIyNTE1NTM1NFowGDEW
MBQGA1UEAwwNd2hvYW1pLWIudGVzdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC
AQoCggEBANb0fChkS4+iY9fQ5REqZ05U7RZg/l+CBYkLmT2PxLaQrX7VmEWW0r4+
APQXyx0oMow1wNIaPaaP825t+aH/EoKL5BKs0bGZl6Y6qhYnDxxlqZQEkFHbAU4J
ueyyBl4bKyG1z3ESiNtnTps0YLQNuryeeOzfrIvhlasy7qp/p0kQEp7L8Jnc2/u1
ZTxU2G8uwcGHZWzf013BU7ekfwEJFc6jEbJvDwYBfPmZzzNmd5l+GLng6D+t+dzc
bRvDTNyTpc9DQKRbiGiGmZRB2QOfGMOkGlMSxpyksyW+0QTt6qpIbe2mJZEobxaL
itDRKWy78ZtesVXAykTWyN0KOqpveY8CAwEAATANBgkqhkiG9w0BAQsFAAOCAQEA
DklJ5gqIluh0M+5voOqx2qbFG1Eov3+5CbMTM3cw+6EijSks6bCMCHh8gyjvRjDA
NGhrPT2d07c346lDJgrwUBDVHck8fj0ClsPe1KK8FTCbarhMUeUePn2IImGPBYcq
U3Revb8IbAdh39OwsR7Mp8DK1jtfI6K5ORJHPEeeEJmzN5QntrH5+2tTUJo8T8I4
jrywDkxtuvtFwQPwTRZABvmsnFF1xk152b1HApOK20R6eAH9M/o1ld3C1+ZPtIRU
xklTPfLkQr2HJKzTqVyAKsdt/XQdAKO7jLWujc54qTBBFLbZdLsBivobkCipK/b5
8krDBZkjG6RhpChzoIAeaA==
-----END CERTIFICATE-----

View file

@ -0,0 +1,28 @@
-----BEGIN PRIVATE KEY-----
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDW9HwoZEuPomPX
0OURKmdOVO0WYP5fggWJC5k9j8S2kK1+1ZhFltK+PgD0F8sdKDKMNcDSGj2mj/Nu
bfmh/xKCi+QSrNGxmZemOqoWJw8cZamUBJBR2wFOCbnssgZeGyshtc9xEojbZ06b
NGC0Dbq8nnjs36yL4ZWrMu6qf6dJEBKey/CZ3Nv7tWU8VNhvLsHBh2Vs39NdwVO3
pH8BCRXOoxGybw8GAXz5mc8zZneZfhi54Og/rfnc3G0bw0zck6XPQ0CkW4hohpmU
QdkDnxjDpBpTEsacpLMlvtEE7eqqSG3tpiWRKG8Wi4rQ0Slsu/GbXrFVwMpE1sjd
Cjqqb3mPAgMBAAECggEACqZcTGgDsl8aUUQBRWNzcNcWVAiEMdkwSwTvF7S6y0zJ
u8H7ZF8/m7tYsr9HCe/G6Vl0bzRrn4f8SJlcR+FqWltx9lbnoMP6VnsLmENhJUgI
KdQ8DkIqg2JJ+ucrF5iC/42RdIm1jCFHLLtgmyse+F9loF7InrmTf8LrPjlK4Xy6
Edj8mM/DEyH1BrakoBm9RjAJi/+UtUNXtCYPA/uF4Efbc3rP9uk4ejzsIceaJ3TV
lcL17JsZQ0Z2Cd2audtJW8TlTvMk9p8i4ekXNFCeUnHH4lXM8co6rhHrD+Mt5cVR
2RROO8KxgRdOLHvkSMayQeMlSWX6tOedLtuYNqaxiQKBgQD7y2Db4KGy7JahlDkE
4esk87uwur2hvHBIJNHtC7s0F/EN9ckPyekLB6Npv2YglQ7gv24G3jydZPzMSejf
qRddUjuAU2o6nrKAQXDRJB/j1dugeYEWKc4C3Lrss/gGVCs+TqFHJCkuaHft0GKj
ppunIaQ8ZeOAv7YmzHovw8/BywKBgQDai5a5cL86zovKTi0Q6T51T07/q/lMSoHu
DEIKMGStnVRK55i3bnX/+3iJCMwSqByCmD9XrYYHNeeRBow/W4lGbyJQm/bokt4m
pOSnQnUkwuKL+XI1kPFM14OvMSsMZF4GMplh7dSoN2808mSHI/Mcn03gq82CsItM
pEBT46KezQKBgGfA9UeFN3wf6y3ngttVMGzIljWLrWpA2M+RhIM2C0y69NR4zAHa
hFHMMvT3LmEMqtXHa9Ier0F4BIc1iWToKz2EDgqh1KsVC5632IIFbbKXQ+nLR3rX
fRFG3St+ORx6gFsrUV+cMe/ykkCHVq3ykD79KMzOe0FpPeic51hZSnmjAoGBAJDo
o708DCBzGe+/nFQtRBPGzYvrvPagJLzx9cwJwIf53Q15uSJPpQBh/s9mPOJWA+l4
B/AcB9W6IVxhKhdMm55PTEKE19foolKfXVmmUERa0JqdgOQRwl4APLmqcW/bERks
7dUoPKx5bUx/OLb+2FFvM9U4NaFlbEgaVOkK9CY1AoGBAPZcYhzBKsB39f8pKSR/
wDLKTXdrh+c6JNDl5ZBvUI7PJ9yUhr2I+AMuqhppVdk5uPAHRwZJvjbX4t/Uyzdc
LJ7o87ujJDq1CElcX04tZ3Q+YTEqgRuYoP4QAllBjbb3iBnSNOfkbbijaGPY7XB6
ugI1J6omjblZScJZIRhikHpN
-----END PRIVATE KEY-----

View file

@ -0,0 +1,21 @@
-----BEGIN CERTIFICATE-----
MIIDYDCCAkgCCQDtnVpsbiGA2DANBgkqhkiG9w0BAQsFADByMQswCQYDVQQGEwJm
cjEQMA4GA1UECAwHdHJhZWZpazEPMA0GA1UEBwwGY2hlZXNlMRMwEQYDVQQKDApj
b250YWlub3VzMRMwEQYDVQQLDApjb250YWlub3VzMRYwFAYDVQQDDA13aG9hbWkt
Yy50ZXN0MB4XDTE5MDIyNTE1NTMwMloXDTIwMDIyNTE1NTMwMlowcjELMAkGA1UE
BhMCZnIxEDAOBgNVBAgMB3RyYWVmaWsxDzANBgNVBAcMBmNoZWVzZTETMBEGA1UE
CgwKY29udGFpbm91czETMBEGA1UECwwKY29udGFpbm91czEWMBQGA1UEAwwNd2hv
YW1pLWMudGVzdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALABMros
UVUpKhUClQjw0wsr6nibhAzaI/NZCzfFyX3pjid+WH68thjuiRaEkihXVgeh14ss
qbzvZZ41UYnF2ARKbLFNOOGUUWKYPReA14ik5B9x1Cd7bPCk8cxkwBEiya31JpTE
p/F5+h+/f9vHDZV+DXZS4XfMAnpQ7Dsgf6qAtWs8o3jvIGv1KyWs7/3uAbKpW7e8
cSfDYqjWuZgBkkOvHGfQHgHHEnPzEmnrWHDKas9A4LJckTQwcAYuXpVlqrupx8dK
IwFkM8wrkBa1alZHQ1qKiG7BLF2TAscFbYr3/ZissQ+C2OgMpgg6mhoET4PThcHn
zyrwk6CnvOZO7jcCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEACpLnRKsRIzpjXhS5
bfmcQgwIwwAtJU4ZxrDg/Fj9dZ7fTApiDNkGh8EjvOIIjGVWivWPuvXGLXK/RK4H
jj4CkdjzCRfLT+Cf20u0ScP4htx7n9Piufluo1AFEn5ZiAWWvFcbTLrROUQ0G10U
dXXJdDIWjayI7Lbt8YN1B2RkTjoKLCNHWGDDaiqZFoX9uqN0KuglFvc01aBUXtiA
Q3UJckIqaN225WRPFq/TMKdoZBlX4sGyTYGcxpDdyOrQ+w8pwocmW2G/pQE39wRn
1H+AyavuFXfdTZpshy4KZuWb6MA3WLzoIgL0111VxhGUFNA0z169vMgd0AmMpLGo
8qIPSA==
-----END CERTIFICATE-----

View file

@ -0,0 +1,28 @@
-----BEGIN PRIVATE KEY-----
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCwATK6LFFVKSoV
ApUI8NMLK+p4m4QM2iPzWQs3xcl96Y4nflh+vLYY7okWhJIoV1YHodeLLKm872We
NVGJxdgESmyxTTjhlFFimD0XgNeIpOQfcdQne2zwpPHMZMARIsmt9SaUxKfxefof
v3/bxw2Vfg12UuF3zAJ6UOw7IH+qgLVrPKN47yBr9SslrO/97gGyqVu3vHEnw2Ko
1rmYAZJDrxxn0B4BxxJz8xJp61hwymrPQOCyXJE0MHAGLl6VZaq7qcfHSiMBZDPM
K5AWtWpWR0NaiohuwSxdkwLHBW2K9/2YrLEPgtjoDKYIOpoaBE+D04XB588q8JOg
p7zmTu43AgMBAAECggEAGoEDr49u7AEX6jQKV19UmJETbPgWSY0r7sBQ9SQetIxQ
MNhQ4Tzvuw9oq3BpRhPoy5tuhvHB2ca/KbTjw3h8kCDY/1Yeo7GfE9bTFE/9pQEX
rTiJ9ywZ+p8MHnhph+sSLdUF60817yIsLU28Jk9yVzm1M0VF2LFrChpXiIvbTcR1
+dIbK5cWJnmlbL+dqPK8aujJcVUN25qowPvs/1uyr6pWlByNNo79e0UF0TAr/i0y
YP13R5amTfkh+1ISleMTSNFhCTv+4fso95GKSp1Q2Ogg8raa5F1C4UZNS82haQBG
8njseclsZaYI5hJH9kxPR1ml06ANqtqsMtirK0yGYQKBgQDjHy978fJ3aaI4XPCp
zi63QCCiR2E7y0pZoNwOQtzK5h399QzWMj10Iv+dX9GVfpo1dHlJGrbOTu+sb4pH
Ns/JEa3hazOymnloh3GDhGjiah3ygYUBuK1uQph5dyh2M5M6IxQYXp17un/e7gFU
f4/ip7UMNued9PR8SEJ6IU4FBwKBgQDGYiZk4gDKlikIQIZBwxnc9vOWVtg1HFYP
IuMXKDKnyY29jSqJ2cCpYsIx+sU+siNT7svW27CAz4evRAwWIBrywtfSRDI+VrrH
4JyjEfwhqXiDicl8XK8+1K1THvfwI8Fr/y8nB768HaM6OHcB/Tn+arzvvl1cRfsU
AvQIe88xUQKBgFtq8wb1pP3Ro/0B09DVb9JM2pXXG1khA4U+DTUkTpDQvSO6Xfdd
c4TqjW6/4bFFqzZ28latjQVPmoMSxlrRwiMRnaaNKtrp+JJNajBgvILd6b3xyiKe
PhiSb6L8hmnFaq5M7kq80rC5qbyGmjxzt+uoS2RmOSZIMZxQzYkxHKFDAoGAZ7i/
bDWBxmn2MBtUVqPELPRs7SigyDv1ftp1sxDQU0udMQLSv9o60hURhYIgiKQotmR+
7OpWATMANRG15AeLL2vR3VzMjC1aYNC99MCde5gYq2VqE/x9n7Mgn/nsFgELywRT
yetRvRcd1X3aMw8LuEpkWFDGjU0FdjQJFTpuXNECgYEAwIKGhL+xJCgbIlwv49CW
DXvc4H6ISYA2aRGhx8wpuiXLNtXexgW8e6kuL8jjaKkQblxgcPEQYJzGCwaJqVZj
h8IL+p+OGR65XLNwE2zMyGGFNdgxrl12O6A6c9ax1hXbeRjl6WYI9w7mFiQYFdla
Zycs5m7Ie5HwaLXWWM1Zw/0=
-----END PRIVATE KEY-----

View file

@ -7,8 +7,8 @@ logLevel = "DEBUG"
responseHeaderTimeout = "300ms"
[entryPoints]
[entryPoints.http]
[entrypoints]
[entrypoints.web]
address = ":8000"
[accessLog]
@ -20,24 +20,24 @@ logLevel = "DEBUG"
[providers]
[providers.file]
[Routers]
[Routers.router1]
[http.routers]
[http.routers.router1]
Service = "service1"
Rule = "Path(`/dialTimeout`)"
[Routers.router2]
[http.routers.router2]
Service = "service2"
Rule = "Path(`/responseHeaderTimeout`)"
[Services]
[Services.service1]
[Services.service1.LoadBalancer]
[[Services.service1.LoadBalancer.Servers]]
[http.services]
[http.services.service1]
[http.services.service1.LoadBalancer]
[[http.services.service1.LoadBalancer.Servers]]
URL = "http://50.255.255.1"
Weight = 1
[Services.service2]
[Services.service2.LoadBalancer]
[[Services.service2.LoadBalancer.Servers]]
[http.services.service2]
[http.services.service2.LoadBalancer]
[[http.services.service2.LoadBalancer.Servers]]
URL = "http://{{.TimeoutEndpoint}}:9000"
Weight = 1

View file

@ -7,23 +7,23 @@ debug = true
[serversTransport]
rootCAs = [ """{{ .RootCertContent }}""" ]
[entryPoints]
[entryPoints.https]
[entrypoints]
[entrypoints.web-secure]
address = ":8443"
[entryPoints.https.tls]
[entryPoints.https.tls.ClientCA]
files = [ """{{ .RootCertContent }}""" ]
optional = false
[entryPoints.https.tls.DefaultCertificate]
certFile = """{{ .ServerCertContent }}"""
keyFile = """{{ .ServerKeyContent }}"""
[api]
[providers]
[providers.docker]
endpoint = "unix:///var/run/docker.sock"
watch = true
[providers.file]
[tlsOptions.default.ClientCA]
files = [ """{{ .RootCertContent }}""" ]
optional = false
[tlsStores.default.DefaultCertificate]
certFile = """{{ .ServerCertContent }}"""
keyFile = """{{ .ServerKeyContent }}"""

View file

@ -6,8 +6,8 @@ debug = true
[api]
[entryPoints]
[entryPoints.http]
[entrypoints]
[entrypoints.web]
address = ":8000"
[tracing]
@ -23,55 +23,55 @@ debug = true
[providers]
[providers.file]
[Routers]
[Routers.router1]
[http.routers]
[http.routers.router1]
Service = "service1"
Middlewares = ["retry", "ratelimit"]
Rule = "Path(`/ratelimit`)"
[Routers.router2]
[http.routers.router2]
Service = "service2"
Middlewares = ["retry"]
Rule = "Path(`/retry`)"
[Routers.router3]
[http.routers.router3]
Service = "service3"
Middlewares = ["retry", "basic-auth"]
Rule = "Path(`/auth`)"
[Middlewares]
[Middlewares.retry.retry]
[http.middlewares]
[http.middlewares.retry.retry]
attempts = 3
[Middlewares.basic-auth.BasicAuth]
[http.middlewares.basic-auth.BasicAuth]
users = ["test:$apr1$H6uskkkW$IgXLP6ewTrSuBkTrqE8wj/", "test2:$apr1$d9hr9HBB$4HxwgUir3HP4EsggP/QNo0"]
[Middlewares.ratelimit.RateLimit]
[http.middlewares.ratelimit.RateLimit]
extractorfunc = "client.ip"
[Middlewares.ratelimit.RateLimit.rateset.rateset1]
[http.middlewares.ratelimit.RateLimit.rateset.rateset1]
period = "60s"
average = 4
burst = 5
[Middlewares.ratelimit.RateLimit.rateset.rateset2]
[http.middlewares.ratelimit.RateLimit.rateset.rateset2]
period = "3s"
average = 1
burst = 2
[Services]
[Services.service1]
[Services.service1.LoadBalancer]
[http.services]
[http.services.service1]
[http.services.service1.LoadBalancer]
passHostHeader = true
[[Services.service1.LoadBalancer.Servers]]
[[http.services.service1.LoadBalancer.Servers]]
URL = "http://{{.WhoAmiIP}}:{{.WhoAmiPort}}"
Weight = 1
[Services.service2]
[http.services.service2]
passHostHeader = true
[Services.service2.LoadBalancer]
[[Services.service2.LoadBalancer.Servers]]
[http.services.service2.LoadBalancer]
[[http.services.service2.LoadBalancer.Servers]]
URL = "http://{{.WhoAmiIP}}:{{.WhoAmiPort}}"
Weight = 1
[Services.service3]
[http.services.service3]
passHostHeader = true
[Services.service3.LoadBalancer]
[[Services.service3.LoadBalancer.Servers]]
[http.services.service3.LoadBalancer]
[[http.services.service3.LoadBalancer.Servers]]
URL = "http://{{.WhoAmiIP}}:{{.WhoAmiPort}}"
Weight = 1

View file

@ -11,8 +11,8 @@ checkNewVersion = false
[accessLog]
filePath = "access.log"
[entryPoints]
[entryPoints.http]
[entrypoints]
[entrypoints.web]
address = ":8000"
[api]

View file

@ -1,8 +1,8 @@
[log]
logLevel = "DEBUG"
[entryPoints]
[entryPoints.http]
[entrypoints]
[entrypoints.web]
address = ":8000"
[api]
@ -10,15 +10,15 @@ logLevel = "DEBUG"
[providers]
[providers.file]
[Routers]
[Routers.router1]
[http.routers]
[http.routers.router1]
Service = "service1"
Rule = "PathPrefix(`/ws`)"
[Services]
[Services.service1]
[Services.service1.LoadBalancer]
[http.services]
[http.services.service1]
[http.services.service1.LoadBalancer]
passHostHeader = true
[[Services.service1.LoadBalancer.Servers]]
[[http.services.service1.LoadBalancer.Servers]]
URL = "{{ .WebsocketServer }}"
Weight = 1

View file

@ -4,13 +4,9 @@ logLevel = "DEBUG"
[serversTransport]
insecureSkipVerify=true
[entryPoints]
[entryPoints.wss]
[entrypoints]
[entrypoints.wss]
address = ":8000"
[entryPoints.wss.tls]
[entryPoints.wss.tls.DefaultCertificate]
certFile = "resources/tls/local.cert"
keyFile = "resources/tls/local.key"
[api]
@ -18,15 +14,20 @@ insecureSkipVerify=true
[providers]
[providers.file]
[Routers]
[Routers.router1]
[http.routers]
[http.routers.router1]
Service = "service1"
Rule = "Path(`/echo`,`/ws`)"
[http.routers.router1.tls]
[Services]
[Services.service1]
[Services.service1.LoadBalancer]
[http.services]
[http.services.service1]
[http.services.service1.LoadBalancer]
PassHostHeader = true
[[Services.service1.LoadBalancer.Servers]]
[[http.services.service1.LoadBalancer.Servers]]
URL = "{{ .WebsocketServer }}"
Weight = 1
[tlsStores.default.DefaultCertificate]
certFile = "resources/tls/local.cert"
keyFile = "resources/tls/local.key"