Commit graph

268 commits

Author SHA1 Message Date
Ali a4b354b33f
Redact credentials before logging
Co-authored-by: Tom Moulard <tom.moulard@traefik.io>
Co-authored-by: Mathieu Lonjaret <mathieu.lonjaret@gmail.com>
2022-01-24 11:08:05 +01:00
Tom Moulard aabfb792af
Merge current v2.5 into v2.6 2022-01-20 17:44:55 +01:00
Tom Moulard 42a110dd69
Adjust log level from info to debug
Co-authored-by: rhtenhove <rhtenhove@users.noreply.github.com>
2022-01-20 12:36:08 +01:00
Tom Moulard 93de7cf0c0
feat: add in flight connection middleware 2021-11-29 17:12:06 +01:00
Tom Moulard 1f17731369
feat: add readIdleTimeout and pingTimeout config options to ServersTransport
Co-authored-by: Kevin Pollet <pollet.kevin@gmail.com>
2021-11-09 12:16:08 +01:00
Tom Moulard 380514941c
Merge current v2.5 into master 2021-09-23 16:10:03 +02:00
Ludovic Fernandez 6f4a7fb604
chore: upgrade linter 2021-09-16 09:16:07 +02:00
Tom Moulard 6e28db513c
Metrics router fix
Co-authored-by: Michael <michael.matur@gmail.com>
Co-authored-by: Romain <rtribotte@users.noreply.github.com>
2021-09-15 17:26:06 +02:00
Antoine 70359e5d27
Replace go-bindata with Go embed
Co-authored-by: nrwiersma <nick@wiersma.co.za>
2021-09-15 10:36:14 +02:00
valerauko 60ff50a675
Add HTTP3Config 2021-09-10 14:58:13 +02:00
Anton Gubarev 0ac6f80b50
Fix empty body error in mirror 2021-09-02 10:46:13 +02:00
Romain 2644c1f598
Makes ALPN protocols configurable 2021-08-20 18:20:06 +02:00
Mohammad Gufran 7e43e5615e
Add Support for Consul Connect
Co-authored-by: Florian Apolloner <apollo13@users.noreply.github.com>
2021-07-15 14:02:11 +02:00
romain 3a180e2afc Merge current v2.4 into v2.5 2021-07-13 18:12:29 +02:00
Jean-Baptiste Doumenjou e1f5866989
Detect certificates content modifications
Co-authored-by: Romain <rtribotte@users.noreply.github.com>
Co-authored-by: Mathieu Lonjaret <mathieu.lonjaret@gmail.com>
2021-07-13 14:14:35 +02:00
mpl 838a8e18d3
healthcheck: add support at the load-balancers of services level
Co-authored-by: Dmitry Sharshakov <d3dx12.xx@gmail.com>
Co-authored-by: Julien Salleyron <julien.salleyron@gmail.com>
Co-authored-by: Jean-Baptiste Doumenjou <925513+jbdoumenjou@users.noreply.github.com>
Co-authored-by: Romain <rtribotte@users.noreply.github.com>
Co-authored-by: Tom Moulard <tom.moulard@traefik.io>
2021-06-25 21:08:11 +02:00
romain ce2e02b690 Merge current v2.4 into master 2021-06-22 14:44:56 +02:00
Richard Kojedzinszky f15d05b22f
tls Manager: do not build a default certificate for ACME challenges store
Co-authored-by: Mathieu Lonjaret <mathieu.lonjaret@gmail.com>
Co-authored-by: Romain <rtribotte@users.noreply.github.com>
2021-06-14 10:06:05 +02:00
Romain fc9f41b955
Add TCP Middlewares support 2021-06-11 15:30:05 +02:00
LandryBe 6ae194934d
fix: use defaultEntryPoints when no entryPoint is defined in a TCPRouter 2021-05-11 16:46:14 +02:00
Ludovic Fernandez 63ef0f1cee
Add plugin's support for provider
Co-authored-by: Julien Salleyron <julien@traefik.io>
2021-05-11 16:14:10 +02:00
Jorge Arco 080cf98e51
Add router metrics 2021-04-30 10:22:04 +02:00
Tom Moulard dc8d5ef744
Add a mechanism to format the sticky cookie value
Co-authored-by: Jean-Baptiste Doumenjou <925513+jbdoumenjou@users.noreply.github.com>
2021-04-29 17:56:03 +02:00
Jean-Baptiste Doumenjou cb4fb973b2 Merge current branch v2.4 into master 2021-03-31 09:43:04 +02:00
jcuzzi d13d078351
Add ability to disable HTTP/2 in dynamic config 2021-03-29 14:32:03 +02:00
Romain a513a05b7a
Raise errors for non-ASCII domain names in a router's rules 2021-03-22 21:16:04 +01:00
Jean-Baptiste Doumenjou 702e301990 Merge current branch v2.4 into master 2021-03-09 12:05:08 +01:00
Julien Salleyron 3c8675bb8b
Fix flaky tests.
Co-authored-by: Ludovic Fernandez <ldez@users.noreply.github.com>
2021-03-08 09:58:04 +01:00
Marc Vertes e898080460
feature: tune transport buffer size to increase performance 2021-03-05 14:30:04 +01:00
Romain bdba7d3adf
Update to go1.16 2021-03-04 20:08:03 +01:00
Ludovic Fernandez 2e7833df49
chore: update linter. 2021-03-04 09:02:03 +01:00
Julien Salleyron dd0701dd16
fix: wait for file and internal before applying configurations
Co-authored-by: Ludovic Fernandez <ldez@users.noreply.github.com>
2021-02-25 17:20:04 +01:00
romain 438eec720a Merge v2.4 into master 2021-02-22 09:40:24 +01:00
Manuel Zapf bae28c5f57
Only allow iframes to be loaded from our domain 2021-02-18 14:54:03 +01:00
kevinpollet 2461e36ed4
Merge branch v2.4 into master 2021-01-25 12:42:23 +01:00
Julien Salleyron a90b2a672e
perf: improve forwarded header and recovery middlewares
Co-authored-by: Ludovic Fernandez <ldez@users.noreply.github.com>
2021-01-21 10:04:04 +01:00
Linden Krouse fc7ec17905
Feature: add udp timeout configuration 2021-01-07 17:16:03 +01:00
Julien Salleyron e5a01c7cc8
Add HTTP3 support (experimental)
Co-authored-by: Ludovic Fernandez <ldez@users.noreply.github.com>
2021-01-07 14:48:04 +01:00
Ludovic Fernandez f54136b602
chore: update linter. 2020-12-29 10:54:03 +01:00
kevinpollet f8ae972e70
Merge branch v2.3 into v2.4 2020-12-18 10:15:01 +01:00
Ludovic Fernandez 63f65e5b2a
Disable router when a rule has an error 2020-12-17 10:06:03 +01:00
kevinpollet eebbe64b36
Merge branch v2.3 into master 2020-12-11 10:58:00 +01:00
Harold Ozouf c72769e2ea
Fix TLS options fallback when domain and options are the same
Co-authored-by: Kevin Pollet <pollet.kevin@gmail.com>
2020-12-09 14:16:03 +01:00
Matthias Schneider 84b125bdde
added support for tcp proxyProtocol v1&v2 to backend 2020-11-17 13:04:04 +01:00
Fernandez Ludovic 520fcf82ae Merge branch v2.3 into master. 2020-11-09 00:07:28 +01:00
Ludovic Fernandez 267d0b7b5a
chore: update linter. 2020-11-06 09:26:03 +01:00
Ludovic Fernandez 05333b9579
acme: new HTTP and TLS challenges implementations. 2020-10-29 15:40:04 +01:00
Tristan Weil db007efe00
Ignore errors when setting keepalive period is not supported by the system 2020-10-28 15:32:04 +01:00
Robin Müller f2e53a3569
Re-add server up metrics 2020-09-26 13:30:03 +02:00
Fernandez Ludovic 86c099d629 Merge branch v2.3 into master 2020-09-17 12:32:18 +02:00
Jean-Baptiste Doumenjou c0f1e74bed
chore: move to Traefik organization.
Co-authored-by: Romain <rtribotte@users.noreply.github.com>
2020-09-16 15:46:04 +02:00
Julien Salleyron 76f42a3013
add ServersTransport on services 2020-09-11 15:40:03 +02:00
Ludovic Fernandez 66d151df77
Improve plugins builder. 2020-09-07 13:58:03 +02:00
Fernandez Ludovic 3678bd5a93 Merge branch v2.2 into v2.3 2020-09-04 21:06:11 +02:00
Julien Salleyron 52790d3c37
Headers response modifier is directly applied by headers middleware
Co-authored-by: Ludovic Fernandez <ldez@users.noreply.github.com>
2020-09-01 18:16:04 +02:00
Ludovic Fernandez 1502d20def
chore: move the parser to a dedicated package. 2020-08-17 18:04:03 +02:00
Ludovic Fernandez eecc2f4dd7
Update to go1.15 2020-08-17 12:02:03 +02:00
jb doumenjou 207d0bec78 Merge v2.2 into v2.3 2020-07-22 15:49:28 +02:00
Ludovic Fernandez 2c7f6e4def
fix: drop host port to compare with SNI. 2020-07-20 18:32:03 +02:00
Stephen Solka dcd0cda0c6
prefer NoError/Error over Nil/NotNil 2020-07-19 13:10:03 +02:00
Julien Salleyron 0b7aaa3643
Fix domain fronting
Co-authored-by: Ludovic Fernandez <ldez@users.noreply.github.com>
2020-07-17 15:38:04 +02:00
Fernandez Ludovic 0186c31d59 feat: plugins integration. 2020-07-15 20:14:04 +02:00
Julien Salleyron 4a31544024 feat: Traefik Pilot integration.
Co-authored-by: Ludovic Fernandez <ldez@users.noreply.github.com>
2020-07-15 20:14:04 +02:00
Romain 0e97a3becd
Revert domain fronting fix
* revert domain fronting changes

* reintroduce HostHeader rule

* add doc for removals
2020-07-13 17:58:03 +02:00
Romain 2b35397169
Disable domain fronting
Co-authored-by: jbdoumenjou <jb.doumenjou@gmail.com>
2020-07-08 12:18:03 +02:00
Ludovic Fernandez a20e90aa17
chore: update linter. 2020-07-07 14:42:03 +02:00
Kevin Pollet 4d71f682b3
Fix race condition issues with provided dynamic configuration
* tests: add tests to show race condition on provider config

* fix: store a deep copy of previous provider config

* fix: send a deep copy of provdier config to watcher listener
2020-07-02 11:18:04 +02:00
mpl 9f32292473
internal handlers: support for response modifiers
Co-authored-by: Julien Salleyron <julien@containo.us>
Co-authored-by: Romain <rtribotte@users.noreply.github.com>
Co-authored-by: Jean-Baptiste Doumenjou <jb.doumenjou@gmail.com>
2020-06-15 12:20:05 +02:00
Ludovic Fernandez 328611c619
Update linter 2020-05-11 12:06:07 +02:00
Michael a813d32c53
Manage case for all Websocket headers 2020-04-27 18:12:04 +02:00
Thomas Brandstetter 756aa82aa9
Fix case-sensitive header Sec-Websocket-Version 2020-04-21 17:16:05 +02:00
Nicholas Wiersma 2171cb7f3d
fix: consider UDP when checking for empty config 2020-04-16 16:18:04 +02:00
Michael daf4258472
FIx wS heAder 2020-04-14 18:24:04 +02:00
Fernandez Ludovic b54412e82e Merge branch v2.1 into v2.2 2020-03-24 14:18:39 +01:00
Julien Salleyron dd436a689f
Force http/1.1 for upgrade (Traefik v2) 2020-03-23 16:48:06 +01:00
Ludovic Fernandez 0c28630948
Fix sameSite (Traefik v2) 2020-03-23 11:24:05 +01:00
mpl 63d7ed74f1
udp: replace concurrently reset timer with ticker
Co-authored-by: Julien Salleyron <julien.salleyron@gmail.com>
2020-03-18 14:50:06 +01:00
Ludovic Fernandez d02bb28920
Router entry points on reload. 2020-03-09 11:12:05 +01:00
Dmytro Tananayskiy cf7f0f878a Support mirroring request body
Co-authored-by: Mathieu Lonjaret <mathieu.lonjaret@gmail.com>
Co-authored-by: Julien Salleyron <julien.salleyron@gmail.com>
2020-03-05 18:30:07 +01:00
Traefiker Bot a6040c623b
Entry point redirection and default routers configuration
Co-authored-by: Julien Salleyron <julien.salleyron@gmail.com>
Co-authored-by: Mathieu Lonjaret <mathieu.lonjaret@gmail.com>
2020-03-05 12:46:05 +01:00
Fernandez Ludovic e9d0a16a3b Merge 'v2.1' into master 2020-02-29 00:59:18 +01:00
Robin Müller 18d90ecd96
Do not follow redirects for the health check URLs 2020-02-26 17:28:04 +01:00
Ma Zi'ang 98f304f8b0
Use EDF schedule algorithm for WeightedRoundRobin 2020-02-26 11:56:05 +01:00
Julien Salleyron 1e7f34c271
Launch healhcheck only one time instead of two 2020-02-25 16:30:05 +01:00
Daniel Tomcej a474e196ea
Add TLSStores to Kubernetes CRD 2020-02-24 17:14:06 +01:00
Julien Salleyron ee6d28b25e
Build all UDP services on an entrypoint 2020-02-17 18:02:04 +01:00
Ludovic Fernandez c33348e80c
fix: return an error when ping is not enabled. 2020-02-11 16:06:06 +01:00
mpl 115d42e0f0
UDP support
Co-authored-by: Julien Salleyron <julien.salleyron@gmail.com>
2020-02-11 01:26:04 +01:00
Andrew Parker 6e43ab5897
Don't throw away valid configuration updates 2020-02-10 21:40:06 +01:00
Fernandez Ludovic aa21351d0d Merge branch v2.1 into master 2020-02-10 16:47:13 +01:00
Daniel Tomcej b498c7bcbb
Properly purge default certificate from stores before logging 2020-02-05 18:46:03 +01:00
Julien Salleyron 1b63c95c4e
Fix kubernetes providers shutdown and clean safe.Pool 2020-02-03 17:56:04 +01:00
mpl 16288d171c use provider-qualified name when recursing for chain 2020-01-27 10:40:05 +01:00
Fernandez Ludovic 60e247862a Merge branch v2.1 into master 2020-01-21 18:41:46 +01:00
Julien Salleyron c296a4a967 Remove Content-Type auto-detection
Co-authored-by: mpl <mathieu.lonjaret@gmail.com>
2020-01-21 18:06:03 +01:00
mpl 24192a3797 fix memleak in safe.Pool
Co-authored-by: Julien Salleyron <julien.salleyron@gmail.com>
2020-01-20 17:42:05 +01:00
Fernandez Ludovic da3d814c8b Merge branch 'v2.1' into master 2020-01-07 19:13:48 +01:00
Julien Salleyron 807dc46ad0 Handle respondingtimeout and better shutdown tests.
Co-authored-by: Mathieu Lonjaret <mathieu.lonjaret@gmail.com>
2020-01-06 16:56:05 +01:00
Dmitry Sharshakov 4f669bdd66 Don't set user-agent to Go-http-client/1.1 2019-12-18 11:22:06 +01:00
Fernandez Ludovic 2d3fc613ec Merge branch 'v2.1' into master 2019-12-11 22:14:26 +01:00
Fernandez Ludovic 5c091a1871 Merge branch 'v2.0' into v2.1 2019-12-09 18:48:20 +01:00
Ludovic Fernandez 1a7a3a4233 fix: remove double call to server Close. 2019-12-09 15:14:06 +01:00
Julien Salleyron d2e458f673 Remove mirroring impact in accesslog 2019-12-09 15:12:06 +01:00
Antoine 0e6dce7093 Do not stop to listen on tcp listeners on temporary errors 2019-12-04 16:26:05 +01:00
Fernandez Ludovic 829649e905 Merge branch 'v2.1' into master 2019-12-03 10:43:25 +01:00
Fernandez Ludovic 89919dbe36 Merge branch 'v2.0' into v2.1 2019-12-02 18:20:29 +01:00
Jean-Baptiste Doumenjou efcc9d51d4 Healthcheck managed for all related services
Co-authored-by: Mathieu Lonjaret <mathieu.lonjaret@gmail.com>
2019-11-29 12:40:05 +01:00
Amine Benseddik fe8b090911 Elastic APM tracer implementation 2019-11-27 16:00:07 +01:00
Maxim Fominykh bd75eddc8e Duration order consistency when multiplying number by time unit 2019-11-26 21:38:03 +01:00
Ludovic Fernandez 424e2a9439 Add internal provider
Co-authored-by: Julien Salleyron <julien.salleyron@gmail.com>
2019-11-14 16:40:05 +01:00
Ludovic Fernandez 3410541a2f Conditionnal compression based on Content-Type 2019-10-31 11:36:05 +01:00
Ludovic Fernandez 8f000423ed fix: default tracing backend. 2019-10-28 12:26:05 +01:00
Michael a6cdd701e2 Set proxy protocol logger to DEBUG level 2019-10-24 10:02:06 +02:00
Ludovic Fernandez 48f11900d3 fix: default passHostHeader for file provider. 2019-09-30 18:12:04 +02:00
Ludovic Fernandez 29efac3e5e fix: update linter. 2019-09-26 11:00:06 +02:00
Ludovic Fernandez 027d313df5 fix: improve log for invalid middleware. 2019-09-26 10:04:04 +02:00
mpl 6f6f999129 Do not initialize list of middlewares if not needed
Co-authored-by: Ludovic Fernandez <ldez@users.noreply.github.com>
2019-09-25 18:20:04 +02:00
Jean-Baptiste Doumenjou 0f1911ba68 Return an actual server status updater 2019-09-18 17:56:05 +02:00
Julien Salleyron e0a1592e6e Fix case-sensitive header in websocket 2019-09-17 16:12:04 +02:00
Julien Salleyron 685c6dc00c Add weighted round robin load balancer on TCP
Co-authored-by: Mathieu Lonjaret <mathieu.lonjaret@gmail.com>
2019-09-13 20:00:06 +02:00
Ludovic Fernandez 8e18d37b3d fix: logger and context. 2019-09-13 19:28:04 +02:00
Julien Salleyron b55be9fdea On client CloseWrite, do CloseWrite instead of Close for backend
Co-authored-by: Mathieu Lonjaret <mathieu.lonjaret@gmail.com>
2019-09-13 17:46:04 +02:00
Ludovic Fernandez 6e8138e19b Update golangci-lint 2019-09-10 17:52:04 +02:00
Julien Salleyron 34be181706 Add provider in middleware chain 2019-09-10 16:12:05 +02:00
Ludovic Fernandez 25f4c23ab2 Write HTTP server logs into the global logger. 2019-09-09 14:52:04 +02:00
Julien Salleyron d044c0f4cc New API security 2019-09-06 15:08:04 +02:00
Julien Salleyron 1959e1fd44 Auth middlewares in kubernetes CRD uses secrets 2019-09-05 13:42:04 +02:00
Ludovic Fernandez 10acbb8d92 Don't panic with undefined middleware 2019-09-03 15:22:05 +02:00
Ludovic Fernandez a917115a85 fix buffering middleware 2019-09-03 15:02:05 +02:00
Ludovic Fernandez 306e5081d9 fix: Datadog case. 2019-09-02 03:18:04 -07:00
Julien Salleyron 38508f9a9c Fix recovered panic when websocket is mirrored 2019-08-29 01:28:05 -07:00
Julien Salleyron 602a2ea541 Adds mirroring service 2019-08-26 10:00:04 -07:00
Fedorenko Dmitrij e1831c4c60 Add support proxyprotocol v2 2019-08-26 05:40:04 -07:00
mpl 4ec90c5c0d Add rate limiter, rename maxConn into inFlightReq
Co-authored-by: Julien Salleyron <julien.salleyron@gmail.com>
Co-authored-by: Jean-Baptiste Doumenjou <jb.doumenjou@gmail.com>
2019-08-26 03:20:06 -07:00
Julien Salleyron 6fed76a687 WeightedRoundRobin load balancer
Co-authored-by: Ludovic Fernandez <ldez@users.noreply.github.com>
2019-08-26 01:30:05 -07:00
Fernandez Ludovic 4c5e7a238d chore: go module 2019-08-12 05:06:04 -07:00
Ludovic Fernandez 1800b0b69c Improve error on router without service.
Co-authored-by: Mathieu Lonjaret <mathieu.lonjaret@gmail.com>
2019-07-19 16:42:04 +02:00
mpl 092aa8fa6d API: remove configuration of Entrypoint and Middlewares
Co-authored-by: Julien Salleyron <julien.salleyron@gmail.com>
2019-07-19 12:28:07 +02:00
Ludovic Fernandez f75f73f3d2 Certificate resolvers.
Co-authored-by: Julien Salleyron <julien.salleyron@gmail.com>
Co-authored-by: Jean-Baptiste Doumenjou <jb.doumenjou@gmail.com>
2019-07-19 11:52:04 +02:00
Julien Salleyron e3627e9cba Disable RateLimit temporarily 2019-07-19 10:50:05 +02:00
Michael 8e97af8dc3 Add Metrics 2019-07-18 21:36:05 +02:00
mpl 6fdd48509e config: deal with multiple errors and their criticality
Co-authored-by: Julien Salleyron <julien.salleyron@gmail.com>
2019-07-15 17:04:04 +02:00
Daniel Tomcej 51486b18fa Enhance REST provider 2019-07-13 01:24:03 +02:00
Ludovic Fernandez c8bf8e896a Move dynamic config into a dedicated package. 2019-07-10 09:26:04 +02:00
Michael 09cc1161c9 Generate deepcopy for configuration struct 2019-07-09 15:18:04 +02:00
mpl 39aae4167e TLSOptions: handle conflict: same host name, different TLS options
Co-authored-by: Julien Salleyron <julien.salleyron@gmail.com>
2019-07-03 19:22:05 +02:00
Julien Salleyron 4360ca14c1 Use h2c from x/net to handle h2c requests
Co-authored-by: Mathieu Lonjaret <mathieu.lonjaret@gmail.com>
2019-07-01 15:08:04 +02:00
Ludovic Fernandez c7d336f958 Use the same case everywhere 2019-07-01 11:30:05 +02:00
Máté Szabó f6436663eb Make HTTP Keep-Alive timeout configurable for backend connections 2019-06-28 00:36:04 +02:00
Michael 84d7c65039 Improve tracing 2019-06-28 00:16:04 +02:00