Commit graph

110 commits

Author SHA1 Message Date
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
Fernandez Ludovic 8ad31d6eb4 Merge remote-tracking branch 'upstream/v1.3' into merge-v1_3 2017-05-22 11:38:28 +02:00
tanyadegurechaff 987ae92f53 Create log folder if not present 2017-05-19 15:49:02 +02:00
MaZderMind 5f0b215e90 IP Whitelists for Frontend (with Docker- & Kubernetes-Provider Support) 2017-05-19 15:19:29 +02:00
Emile Vauge f8ea19d29c
Merge branch 'v1.3' into merge-v1.3.0-rc2-master 2017-05-17 11:44:53 +02:00