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

@ -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-----