Traefik (pronounced like traffic) is a modern HTTP reverse proxy and load
balancer made to deploy microservices with ease. It supports several backends
(Docker, Swarm mode, Kubernetes, Marathon, Consul, Etcd, Rancher, Amazon ECS,
and a lot more) to manage its configuration automatically and dynamically.
Note that traefik starts as unpriviliged user. Thus, it cannot
bind to privileged ports (by default, ports below 1024) and
will exit when configured to do so.
If traefik should serve ports in the privileged range, there
are options to achieve this:
- Have traffic bind to an unprivileged port and use the
packet filter configuration to redirect requests to the
desired privileged port to the unprivileged port in
traefik's configuration file e.g. the rdr rules in pf(4).
- The mac_portacl kernel module allows unprivileged processes
to bind to privileged ports.
If upgrading from < 2.0:
The version 2 of Traefik requires manual configuration changes
when migrating from a legacy v1 version to v2.
Please consult the Traefik migration guide at
https://doc.traefik.io/traefik/migration/v1-to-v2/
for details on how to adapt existing configuration files.
Note that there is a tool that can automate migration and
rewrite existing configuration files (at least partially):
https://github.com/traefik/traefik-migration-tool
net/traefik: Update to upstream release 2.10.6
Details:
- Bugfix release, see
https://github.com/traefik/traefik/releases/tag/v2.10.6
- Note that above link mentions two CVEs. The CVEs are not related
to traefik itself but are fixes in the Go standard library. The
FreeBSD port receives the fixes by building traefik against an updated
revision of lang/go121
MFH: 2023Q4
(cherry picked from commit 59b5af61386520bf4abc09a1090d46c4fb920c88)