Traefik 1.4 — Roquefort Is Here, And It’s Huge!
After 4 months of intense development, we are proud to announce the fresh new release of Traefik: 1.4, codename roquefort.
This release is quite big: we merged 250 pull requests from more than 60 contributors ! Huge thanks goes to all of you who helped on this new version 😘.
The full changelog can be found here but here are some new features we want to highlight:
Custom Headers & Security
Our awesome Daniel Tomcej did some hard work on headers. We now have a way to customize headers:
Custom headers can be configured through the frontends, to add headers to either requests or responses that match the frontend’s rules. This allows for setting headers such as X-Script-Name
to be added to the request, or custom headers to be added to the response.
If that was not enough, Daniel added security options on headers:
Security related headers (HSTS headers, SSL redirection, Browser XSS filter, etc) can be added and configured per frontend in a similar manner to the custom headers above. This functionality allows for some easy security features to quickly be set.
Multi arch
Thanks to Ludovic Fernandez, we now provide the official Docker image on multiple architectures: amd64, arm64v8, arm32v6. The best part is that as of mid-September, Docker supports transparent multi-arch on official images. This allows to use docker run traefik
transparently either on a amd64 or a arm64v8 Docker daemon. We plan to add a Windows based official image in the future.
Authentication Forward
As a first step to a generic authentication mechanism, Daniel Rampelt followed by Ludovic Fernandez, added a way to forward authentication to a delegate server. Have a look at both PRs to get more details on this.
Proxy Protocol
Traefik is often used behind another load-balancer like an ELB. In this case, Traefik now supports Proxy Protocol, that allows to keep client information between the chain of proxies. Have a look at the documentation to learn how to enable and configure safely this feature.
Custom Error Pages
Ben Parli did some great job on adding custom error pages support into Traefik. But instead of rendering html pages, we decided to delegate this task to a backend server. You can now configure Traefik to get error pages from another server, using this syntax:
[frontends]
[frontends.website]
backend = "website"
[frontends.website.errors]
[frontends.website.errors.network]
status = ["500-599"]
backend = "error"
query = "/{status}.html"
[frontends.website.routes.website]
rule = "Host: website.mydomain.com"
[backends]
[backends.website]
[backends.website.servers.website]
url = "https://1.2.3.4"
[backends.error]
[backends.error.servers.error]
url = "http://2.3.4.5"
In this example, if you hit a 502 error, Traefik will ask to the backend server http://2.3.4.5
for the page 502.html
.
Datadog, Statd metrics export
Alex Antonov completed the existing Prometheus metrics export with two famous monitoring services: Datadog and Statd. This allows to easily export internal Traefik metrics to monitoring systems and get Grafana dashboards of your running instances.
In A Nutshell
Julien Salleyron added GRPC support and made a great user guide on this.
We now allow to customize cookie names thanks to Ludovic Fernandez, see the documentation here.
Drew Wells added the option passTLSCert
to forward TLS Client certificates to the backend.
The documentation website https://docs.traefik.io has been revamped by Ludovic Fernandez.
But that’s not all, check the whole changelog to get an idea of the awesome work that has been done on this release. Lots of bugs have been fixed and we also have been working on creating awesome bots that do great things for us.
Grab the latest binary for Linux, Windows, Mac on Github or get the official Docker image!
docker pull traefik:v1.4.0 (or 1.4.0, v1.4, 1.4, roquefort)
docker pull traefik:v1.4.0-alpine (or 1.4.0-alpine, v1.4-alpine, 1.4-alpine, roquefort-alpine)
The documentation can be found on https://docs.traefik.io.
We are thrilled to welcome Michael Matur who joined Containous and Marco Jantke who joined the maintainers team 👋 ! We are hiring developers and evangelists: containo.us/#jobs !
Traefik is still growing fast, we just passed 10k stars on Github and 22M downloads!
We would love to hear your feedback on this new release. Join us on GitHub, Twitter or on the Community Forum!