Traefik
Introduzione
Traefik is a reverse proxy / edge router. Analyse requests and route them to the right service.
To
- filter requests
- populate requests
- secure requests using TLS
- compress requests
- load balance requests
- manage authentication
French !
Created by Emile Vauge
Why Traefik?
- discover services automatically
- direct communication with let's encrypt
usable for:
http > osi 7 (app)
tcp > osi 4 (transport)
udp > osi 4 (transport)
avaible GUI
expose some metrics
record tracing (opentracing)
discovery and hot reloading
Available on
- docker/kubernetes
- binary
Rules
routers:
- rules:
- udp / tcp / http
- /path > service-path
- host
- path/host > http/https
- SNI (server name indication / TLS)
- rules:
services
- 1 service = 1 instance
- load balancing
- rules: sticky session, health check, round robin, etc.
- mirroring
Middlewares
- customize requests before sending them to the service
- edit request: headers, add/remove headers, basic auth etc
- docs: https://doc.traefik.io/traefik/middlewares/overview/