Traefik 2.0: reverse proxy cloud-native con service discovery

Traefik 2.0 (settembre 2019) di Containous (poi Traefik Labs): reverse proxy e load balancer con auto-configuration da Docker/Kubernetes/Consul, middlewares componibili, TCP/UDP routing, Let's Encrypt automatico.

Open SourceWeb TraefikReverse ProxyCloud NativeService DiscoveryLet's EncryptOpen Source

Reverse proxy che si configura da solo

Configurare manualmente Nginx o HAProxy in ambienti dinamici — container che nascono e muoiono, servizi che cambiano porta o host — è oneroso. Traefik, lanciato nel 2015 da Emile Vauge (azienda Containous, poi Traefik Labs), risolve con un approccio alternativo: service discovery integrata che legge configurazione da providers esterni.

La versione 2.0 del 16 settembre 2019 è una riscrittura major. Licenza MIT.

Providers

Traefik si connette a fonti di configurazione dinamiche:

  • Docker — labels sui container definiscono routing
  • Kubernetes — via Ingress o Traefik-specific IngressRoute CRD
  • Consul Catalog, etcd, ZooKeeper — service discovery
  • File provider — config YAML/TOML statica
  • AWS ECS, Nomad, Kubernetes Gateway API

Quando un container parte con label traefik.http.routers.api.rule=Host('api.example.com'), Traefik automaticamente lo espone con quel host, senza ricaricare manualmente.

Middlewares

Novità chiave della 2.0: middlewares componibili. Un middleware è un livello di trasformazione applicato a richieste:

  • Auth — BasicAuth, DigestAuth, ForwardAuth
  • Rate limit, circuit breaker, retries
  • Compress (gzip), buffering
  • Headers (CORS, security headers, rimozione PII)
  • IPWhiteList, IPAllowList
  • StripPrefix, AddPrefix, ReplacePath, Redirect
  • Catene di middleware definite e riusate

TCP e UDP routing

La 2.0 aggiunge routing per TCP (oltre HTTP) e UDP, con SNI routing per TLS. Abilita Traefik come frontend non solo di applicazioni web ma anche di database, MQTT, DNS, QUIC.

Let’s Encrypt automatico

Traefik è tra i primi proxy a integrare nativamente ACME/Let’s Encrypt. Configurazione minima:

certificatesResolvers:
  myresolver:
    acme:
      email: admin@example.com
      storage: acme.json
      httpChallenge:
        entryPoint: web

Traefik ottiene, rinnova, distribuisce certificati senza intervento. Supporta HTTP-01, DNS-01, TLS-ALPN-01.

Dashboard

Un dashboard web built-in mostra routers, servizi, middlewares attivi — utile per debug. Metriche Prometheus esposte per monitoring.

Confronto

  • Nginx — più performante, ma configurazione statica o via Nginx Plus / OpenResty
  • HAProxy — load balancer fortissimo su TCP/HTTP, configurazione statica
  • Envoy — data plane potente, meno user-friendly
  • Caddy — simile filosofia (HTTPS auto), meno service discovery
  • Traefik — best quando servono auto-configurazione e Kubernetes/Docker-native

Nel contesto italiano

Traefik è adottato in Italia da:

  • Aziende con cluster K8s self-hosted
  • SaaS che vogliono multi-tenant con subdomain routing dinamico
  • Provider hosting come opzione per i clienti Docker

Riferimenti: Traefik 2.0 (16 settembre 2019). Containous (poi Traefik Labs), Emile Vauge. Licenza MIT. Providers Docker, Kubernetes, Consul. Middlewares componibili. Let’s Encrypt/ACME integration.

Vuoi supporto? Sei sotto attacco? Stato dei servizi
Vuoi supporto? Sei sotto attacco? Stato dei servizi