Commit graph

214 commits

Author SHA1 Message Date
Ludovic Fernandez 16b2555ab3 Fix error pages content. 2018-05-18 16:38:03 +02:00
Fernandez Ludovic 4eda1e1bd4 Merge branch 'v1.6' into master 2018-05-15 10:43:27 +02:00
Ludovic Fernandez b7d20496f3 Add SSLForceHost support. 2018-05-14 11:44:03 +02:00
Ludovic Fernandez 67847c3117 Error when accesslog and error pages 2018-05-14 10:38:03 +02:00
Michael b02381c2d5 Fix wrong tag in forward span in tracing middleware 2018-05-08 12:00:03 +02:00
Ludovic Fernandez edb5b3d711 Fix whitelist and XFF. 2018-04-23 16:20:05 +02:00
Ludovic Fernandez 2975acdc82 Forward auth: copy response headers when auth failed. 2018-04-23 15:28:04 +02:00
Ludovic Fernandez 76dcbe3429 Fix error pages redirect and headers. 2018-04-23 11:28:04 +02:00
Ludovic Fernandez d8e2d464ad Remove dead code. 2018-04-23 10:54:03 +02:00
Fernandez Ludovic 95ce4f5c1e refactor: minor fixes. 2018-04-18 10:48:03 +02:00
Michael 5ab584bc6a Fix panic in atomic on ARM and x86-32 platforms 2018-04-17 10:32:03 +02:00
Michael 8519b0d353 Fix nil value when tracing is enabled 2018-04-16 17:42:03 +02:00
Ludovic Fernandez c99266e961 Fix: error pages 2018-04-11 13:54:03 +02:00
Ludovic Fernandez 5921909ef5 Add tests on IPWhiteLister. 2018-04-03 18:36:03 +02:00
Ludovic Fernandez d2766b1b4f Ability to use "X-Forwarded-For" as a source of IP for white list. 2018-03-23 17:40:04 +01:00
Marco Jantke c762b9bb2e add access log filter for retry attempts 2018-03-23 09:28:03 +01:00
Michael 8d468925d3 Ultimate Access log filter 2018-03-14 14:12:04 +01:00
Michael 1f6f8d5e0f New option in secure middleware 2018-03-02 14:24:03 +01:00
Fernandez Ludovic a2db3e0499 Merge branch 'v1.5' into master 2018-02-27 14:10:24 +01:00
Michael 088b8fb348 Fix <nil> tracer value in KV 2018-02-23 11:16:03 +01:00
Fernandez Ludovic b9d8eff994 refactor: some minor changes. 2018-02-19 10:54:03 +01:00
ferhat elmas 529e34d2ae Remove unnecessary returns in tracing setup 2018-02-17 08:32:03 +01:00
ferhat elmas 5212b7d3bd Handle zipkin collector creation 2018-02-15 10:28:03 +01:00
ferhat elmas 029fa83690 Remove unnecessary conversion 2018-02-13 17:14:04 +01:00
Ludovic Fernandez 6a92ac0b7b Add new options to the CLI entrypoint definition. 2018-02-08 09:30:06 +01:00
Ludovic Fernandez 58d6681824 Redirection: permanent move option. 2018-01-31 19:10:04 +01:00
Marco Jantke ef4aa202d0 Fix high memory usage in retry middleware 2018-01-26 18:22:03 +01:00
Marco Jantke cc5ee00b89 extend metrics and rebuild prometheus exporting logic 2018-01-26 11:58:03 +01:00
Michael b50aebd2ed Tracing statusCodeTracker need to implement CloseNotify 2018-01-25 16:34:02 +01:00
Bastiaan Bakker 32ccc26712 Add username in accesslog 2018-01-24 18:18:03 +01:00
Ludovic Fernandez fb4ba7af2b Migrate Sirupsen to sirupsen. 2018-01-22 12:16:03 +01:00
Michael f1f2e1bf64 Fix missing configuration for jaeger reporter 2018-01-18 17:24:03 +01:00
Michael 709d50836b Fix bad access log 2018-01-11 10:04:03 +01:00
Michael 30ffba78e6 Opentracing support 2018-01-10 17:48:04 +01:00
Fernandez Ludovic 617b8b20f0 Merge branch 'v1.5' into master 2018-01-09 15:46:56 +01:00
SALLEYRON Julien 5b24403c8e Don't panic if ResponseWriter does not implement CloseNotify 2018-01-04 11:18:03 +01:00
SALLEYRON Julien 3e13ebec93 We need to flush the end of the body when retry is streamed 2018-01-02 16:02:03 +01:00
Fernandez Ludovic c84fb9895e Merge branch 'v1.5' into master 2018-01-02 15:21:17 +01:00
Ludovic Fernandez bfd142b13b Fix custom headers template 2018-01-02 10:10:04 +01:00
Ludovic Fernandez 59549d5f39 Use pointer of error pages 2017-12-21 11:26:03 +01:00
Fernandez Ludovic f6520727a3 Merge branch 'v1.5' into master 2017-12-15 22:16:48 +01:00
Kevin Risden bddad57a7b Fix RawPath handling in addPrefix 2017-12-15 03:50:07 +01:00
Sebastian Bauer 328be161d6 Forward Authentication: add X-Forwarded-Uri 2017-12-10 00:58:21 +01:00
Michael f6181ef3e2 Fix custom headers replacement 2017-11-23 17:40:03 +01:00
Fernandez Ludovic 66591cf216 Merge tag 'v1.4.4' into master 2017-11-23 15:21:47 +01:00
Marco Jantke 676b79db42 Fix raw path handling in strip prefix 2017-11-21 14:28:03 +01:00
Ludovic Fernandez 05a9350e57 Use contants from http package. 2017-11-20 09:40:03 +01:00
Fernandez Ludovic 8719f2836e Merge 'v1.4.3' into master
Release v1.4.3
2017-11-15 23:01:08 +01:00
Ludovic Fernandez 0c702b0b6b Revert "Merge v1.4.2 into master" 2017-11-15 18:18:03 +01:00
Ludovic Fernandez 6fcab72ec7 Merge v1.4.2 into master 2017-11-14 16:48:03 +01:00
Ludovic Fernandez 5c119fe2d6 Exclude GRPC from compress 2017-11-10 14:12:02 +01:00
SALLEYRON Julien 9bd0fff319 Keep status when stream mode and compress 2017-11-09 00:48:03 +01:00
Michael e3131481e9 chore: sort imports 2017-11-08 11:40:04 +01:00
Kendrick Erickson 2b4d33e919 Pass through certain forward auth negative response headers 2017-11-02 11:06:03 +01:00
Tiscs Sun 5042c5bf40 Added ReplacePathRegex middleware 2017-10-30 12:54:03 +01:00
Ludovic Fernandez aa308b7a3a Add TrustForwardHeader options. 2017-10-16 12:46:03 +02:00
Emile Vauge 6287a3dd53 Add trusted whitelist proxy protocol 2017-10-10 14:50:03 +02:00
Marco Jantke fd70e6edb1 enable prefix matching within slash boundaries 2017-10-06 11:34:03 +02:00
Ludovic Fernandez 5cc49e2931 bug command. 2017-10-02 10:32:02 +02:00
Marco Jantke 9d00da7285 fix SSE subscriptions when retries are enabled 2017-09-20 18:40:03 +02:00
Ludovic Fernandez cb05f36976 Manage Headers for the Authentication forwarding. 2017-09-18 17:48:07 +02:00
Ludovic Fernandez 7c35337999 Remove GZIPHandler fork. 2017-09-18 11:04:03 +02:00
Marco Jantke cf387d5a6d Enable loss less rotation of log files 2017-09-15 15:02:03 +02:00
Ludovic Fernandez 651d993d9c prometheus, HTTP method and utf8 2017-09-08 11:22:03 +02:00
Ludovic Fernandez 8339139400 Access log default values 2017-09-07 10:54:03 +02:00
Marco Jantke dae7e7a80a add RetryAttempts to AccessLog in JSON format 2017-08-28 12:50:02 +02:00
Daniel Rampelt 52b69fbcb8 Add forward authentication option 2017-08-25 18:22:03 +02:00
mildis 92fb86b66f log X-Forwarded-For as ClientHost if present 2017-08-25 13:00:03 +02:00
Fernandez Ludovic 8235cd3645 refactor: minor changes. 2017-08-25 11:08:02 +02:00
Marco Jantke e6c2040ea8 Extract metrics to own package and refactor implementations 2017-08-23 20:46:03 +02:00
Ludovic Fernandez 5313922bb7 compress: preserve status code 2017-08-21 11:10:03 +02:00
Ludovic Fernandez 759c269dee Code cleaning. 2017-08-18 02:18:02 +02:00
Richard Shepherd 4e5fcac9cb Add log file close and reopen on receipt of SIGUSR1 2017-08-11 12:04:58 +02:00
Alex Antonov 6b133e24b9 Added RetryMetrics to DataDog and StatsD providers 2017-08-09 02:54:35 +02:00
Fernandez Ludovic d456c2ce6a Merge 'v1.3.5' 2017-08-01 19:32:44 +02:00
Alex Antonov 69c628b626 DataDog and StatsD Metrics Support
* Added support for DataDog and StatsD monitoring
* Added documentation
2017-07-21 00:26:43 +02:00
Fernandez Ludovic 40d9058bb6 refactor: migration Negroni from codegangsta to urfave 2017-07-20 15:19:15 +02:00
Marco Jantke 074b31b5e9 respond with 503 on empty backend 2017-07-19 19:28:24 +02:00
dedalusj a09a8b1235 Fix replace path rule
* Fix replace path rule
* test: add RequestURI tests.
2017-07-19 10:27:52 +02:00
Fernandez Ludovic 36ee69609e fix: double compression. 2017-07-18 11:27:24 +02:00
Ludovic Fernandez 2e84b1e556 Enhance integration tests
* refactor: remove unused code.
* refactor: factorize Traefik cmd start.
* refactor(whitelist): minor change.
* refactor(accesslog): better use of checker.
* refactor(errorpages): factorize containers IP variables.
* refactor(integration): refactor cmdTraefikWithConfigFile.
2017-07-10 14:58:31 +02:00
Ben Parli 121c057b90 Custom Error Pages (#1675)
* custom error pages
2017-07-01 01:04:18 +02:00
Marco Jantke 0055965295 add status code to request duration metric 2017-06-26 18:21:28 +02:00
Marco Jantke f79317a435 retry only on real network errors
Now retries only happen when actual network errors occur and not only
anymore based on the HTTP status code. This is because the backend could
also send this status codes as their normal interface and in that case
we don't want to retry.
2017-06-19 20:13:46 +02:00
Fernandez Ludovic 2a578748fd Merge branch 'v1.3' 2017-06-14 22:26:35 +02:00
Fernandez Ludovic d87c4d89e9 fix: Double GZIP. 2017-06-14 21:13:38 +02:00
Marco Jantke 885b9f371c enable logging to stdout for access logs 2017-06-13 23:43:38 +02:00
Daniel Tomcej f275e4ad3c Create Header Middleware 2017-06-13 12:34:17 +02:00
Fernandez Ludovic 7399a83c74 refactor: Use Statefull interface in access log. 2017-06-09 23:55:49 +02:00
Fernandez Ludovic 18c3d8dc62 test: add AddPrefix test. 2017-06-09 23:55:49 +02:00
Fernandez Ludovic a1a0420314 test: use MustNewRequest. 2017-06-09 23:55:49 +02:00
Fernandez Ludovic 63f9bccf9f refactor: fix typos.
refactor: typo in whitelister file name.
2017-06-09 23:55:49 +02:00
Fernandez Ludovic 18d11e02d0 test: simplify stripPrefix* tests. 2017-06-09 23:55:49 +02:00
Marco Jantke e007bb7546 add metrics for backend_retries_total 2017-06-07 08:56:50 +02:00
Richard Shepherd a9216e24f5 Add JSON as access logging format 2017-06-06 16:26:22 +02:00
Fernandez Ludovic b6c5c14447 refactor: Enhance rules tests.
- refactor: change incorrect package.
- refactor: test readability.
2017-05-31 10:34:00 +02:00
Fernandez Ludovic cbccdd51c5 refactor: Logs & errors review.
- log & error: remove format if not necessary, add if necessary.
- add constants for k8s annotations.
- fix typos
2017-05-30 23:33:27 +02:00
Fernandez Ludovic 2833d68f15 Merge branch 'v1.3' into merge-back-1_3_0-rc3 2017-05-24 20:39:38 +02:00
Richard Shepherd 64e8b31d49 Switch access logging to logrus 2017-05-24 14:20:42 +02:00
Josh Toft bc0121808a Fix behavior for PathPrefixStrip
When pushing data to downstream proxies; malformed requests were being
sent.

The corrected behavior is as follows:

| Route Stripped    |     URL                |  Passed to Backend |
| ----------------- | ---------------------- | ------------------ |
| /                 |     /                  |  /                 |

| Route Stripped    |     URL                |  Passed to Backend |
| ----------------- | ---------------------- | ------------------ |
| /stat             |     /stat              |  /                 |
| /stat             |     /stat/             |  /                 |
| /stat             |     /status            |  /status           |
| /stat             |     /stat/us           |  /us               |

| Route Stripped    |     URL                |  Passed to Backend |
| ----------------- | ---------------------- | ------------------ |
| /stat/            |     /stat              |  /stat             |
| /stat/            |     /stat/             |  /                 |
| /stat/            |     /status            |  /status           |
| /stat/            |     /stat/us           |  /us               |

Prior, we could strip the prefixing `/`, and we'd also ignore the case
where you want to serve something like `/api` as both the index and as a
subpath.

Additionally, this should resolve a myriad of issues relating to
kubernetes ingress `PathPrefixStrip`.
2017-05-24 10:50:12 +02:00