Installazione e Configurazione Base del Reverse Proxy Traefik con certificato Self-Signed su Ubuntu Server 24.04

da | Gen 19, 2026

 

 

La gestione del traffico in ingresso verso i propri servizi web è un aspetto fondamentale per garantire sicurezza, scalabilità e facilità di manutenzione.

Tra tutte le soluzioni disponibili, Traefik si distingue per la sua semplicità, la configurazione dinamica e il supporto nativo a container, microservizi e protocolli moderni.

In questa guida vedremo come installare e configurare Traefik come reverse proxy su Ubuntu Server 24.04, impostando una configurazione base e abilitando l’accesso tramite certificato SSL self-signed, utile in ambienti di test o infrastrutture interne non esposte a Internet.

Partiremo dall’installazione del binario, passeremo alla creazione dei file di configurazione principali e concluderemo con la verifica del corretto funzionamento della dashboard e degli entrypoint HTTPS.

Una procedura essenziale ma completa, perfetta per chi vuole iniziare ad adottare Traefik in un ambiente locale o di laboratorio.

PREREQUISITI

Ubuntu Server 24.04 LTS

Utente appartenente al gruppo sudo

Accesso shell/SSH funzionante

 

AGGIORNAMENTO DEL SISTEMA

Aggiornare il sistema con i seguenti comandi:

Gli step seguenti usano un’installazione “nativa” (binary + systemd) senza l’utlizzo di Docker/k8s.

 

CREAZIONE UTENTE E STRUTTURA DELLE DIRECTORY

Creare un utente/gruppo non privilegiati per Traefik con il comando:

Creare la struttura directory con i seguenti comandi:

 

CONFIGURAZIONE FIREWALL (OPZIONALE)

Aprire le porte nel firewall UFW con i seguenti comandi:

Aprire la porta per la dashboard nel firewall UFW con il seguente comando:

NOTA BENE: Aprire 80/443/8080 consente il traffico verso i servizi che ascoltano su quelle porte.

 

INSTALLAZIONE DI TRAEFIK

Traefik rilascia binari pronti all’uso. Verificare l’ultima release stabile al seguente link:

Download Traefik

Al momento della stesura del seguente articolo l’ultima versione stabile è la 3.6.0

Scaricare l’ultima versione stabile con il comando:

Scompattare il .tar con il comando:

Spostare la cartella traefik con il comando:

Cancellare il .tar con il comando:

Permettere all’eseguibile (non root) di bindare le porte <1024 (80/443) con il comando:

ATTENZIONE: L’installazione via binario è una modalità comune/ufficiale.

 

CONFIGURAZIONE STATICA DI TRAEFIK

Creare il file /etc/traefik/traefik.yml con il comando:

Quindi incollare all’interno del file il seguente output:

Salvare e chiudere il file di configurazione

In Traefik esistono due livelli:

  • Configurazione statica (entryPoints, providers, log, dashboard)
  • Configurazione dinamica (routers, services, middlewares, TLS).

ATTENZIONE: Non vanno mescolate nello stesso file.

 

GENERAZIONE DEL CERTIFICATO SELF-SIGNED

Generare il certificato self-signed (SAN) con il seguente comando:

NOTA BENE: Sostiture test.lab e l’IP con i tuoi valori. Con OpenSSL ≥1.1.1 puoi usare -addext per i SAN.

Assegnare le ACL con i seguenti comandi:

NOTA BENE: I SAN sono fondamentali per evitare i warning moderni; con OpenSSL recente puoi impostarli con -addext.

 

CONFIGURAZIONE DINAMICA (TLS + ESEMPIO DI BACKEND)

Creare il file TLS e un semplice router verso un’app di test su 127.0.0.1:8081 con il comando:

Incollare all’interno del file il seguente output:

Salvare e chiudere il file di configurazione

TLS e file provider sono documentati ufficialmente da Traefik (certificati tramite file dinamico e ricarica automatica con watch: true).

Per avere un backend di test è possibile esporre un servizio di prova.

Installare un piccolo server HTTP di prova con il comando:

Quindi eseguire il comando:

 

CONFIGURAZIONE DELLA DASHBOARD SICURA SU PORTA 8080 (OPZIONALE)

Per esporre la dashboard in HTTPS dietro Traefik stesso creare un router dedicato con il comando:

Quindi incollare all’interno del file il seguente output:

Salvare e chiudere il file di configurazione

ATTENZIONE: Ricorda di aggiungere server.test.lab al certificato oppure generare un certificato dedicato.

La dashboard è una feature dell’API di Traefik.

Evitare insecure: true e pubblicala dietro TLS/host dedicato.

 

CREAZIONE DEL SERVIZIO SYSTEMD

Creare il service systemd con il comando:

Incollare il seguente output:

Salvare e chiudere il file di configurazione

Ricaricare con il comando:

Abilitare il servizio con il comando:

Avviare traefik con il comando:

Verificare che sia tutto OK con il comando:

Dovremmo visualizzare un output simile al seguente:

Oppure eseguire il comando:

 

ACCESSO ALLA DASHBOARD DI TRAEFIK

A questo punto è possibile richiamare da un qualsiasi browser la dashboard al seguente link:

http://SERVER.test.lab/dashboard

 

NOTE E SUGGERIMENTI UTILI

Self-signed: i browser segnaleranno “connessione non sicura” perché il certificato non è emesso da una CA pubblica. È normale in ambienti di lab o interni.

Auto-reload: con il file provider e watch: true, Traefik ricarica automaticamente la config dinamica senza restart.

Separazione config: mantieni statica (/etc/traefik/traefik.yml) e dinamica (file in /etc/traefik/dynamic/) separati. Non mescolarli mai!!!

Docker/Compose: consigliato se tutto il tuo stack è containerizzato

 

FUNZIONALITA’ DI TRAEFIK

1 – Reverse Proxy e Load Balancer

Traefik funge da reverse proxy di livello 7 e bilancia le richieste verso più backend.

Pro

  • Supporta HTTP/HTTPS, TCP e UDP.
  • Load balancing con algoritmi nativi (round robin, sticky sessions).
  • Configurazione dinamica: aggiungi un servizio ed è subito disponibile.
  • Adatto a microservizi e ambienti ad alta variabilità.

 

Contro

  • Meno configurabile nei dettagli rispetto a NGINX in modalità avanzata.
  • Le configurazioni complesse richiedono più file e più concetti da capire.

 

2 – Configurazione Dinamica tramite Providers

Traefik si integra con molti provider (Docker, Kubernetes, Consul, Etcd, File, Rest).

Pro

  • Rileva automaticamente servizi quando compaiono nel provider.
  • Etichettatura semplice (es. label Docker) per configurare routing.
  • Ottimo per container e applicazioni distribuite.

 

Contro

  • In ambienti non dinamici, la configurazione “classica” può risultare superflua.
  • Alcuni provider (es. Consul) richiedono setup extra.

 

3 – Certificati SSL automatici (Let’s Encrypt)

Traefik genera e rinnova automaticamente certificati HTTPS.

Pro

  • Rinnovi automatici senza cron-job.
  • Supporto HTTP-01, TLS-ALPN-01 e DNS-01.
  • Certificati wildcard via DNS-01.

 

Contro

  • Se configurato male può finire in rate-limit di Let’s Encrypt.
  • DNS-01 richiede API provider DNS compatibile.

 

4 – Dashboard Web Integrata

Interfaccia grafica per monitorare router, middleware e servizi.

Pro

  • Visualizza routing, middlewares, entrypoints e stato dei servizi.
  • Utile per debugging e controlli rapidi.
  • Disponibile su /dashboard/ o tramite entrypoint dedicato.

 

Contro

  • Non va esposta a Internet senza autenticazione.
  • La configurazione può sembrare “nascosta” (richiede API attiva).

 

5 – Middleware

Strato intermedio che permette di manipolare richieste e risposte.

Esempi:

  • Redirect, HTTPS redirect
  • Rate limiting
  • Autenticazione basic, digest, forward auth
  • Riscrittura URL
  • Header security

Pro

  • Grande flessibilità nel modellare il traffico.
  • Combinazione multipla tramite chain middleware.

 

Contro

  • Troppi middleware rendono difficile il debugging.
  • Alcuni comportamenti complessi richiedono test accurati.

 

6 – Supporto a TCP/UDP

Non solo HTTP: Traefik può gestire anche servizi puramente TCP o UDP (es. database, MQTT, giochi).

Pro

  • True L4 load balancing.
  • Un’unica soluzione per HTTP e servizi di rete generici.

 

Contro

  • Funzionalità più limitate rispetto ai proxy L4 specializzati.
  • Niente middleware per TCP/UDP (solo routing)

 

7 – Acme Storage e gestione certificati

Traefik conserva certificati e chiavi in un file, storage remoto o secret store.

Pro

  • Centralizzazione certificati.
  • Facile backup/restore.
  • Supporto hot-reload.

 

Contro

  • Lo storage tipo file può corrompersi in crash di sistema.
  • Le configurazioni multi-nodo richiedono storage distribuito (es. Consul)

 

8 – Monitoraggio e Metriche

Supporto a:

  • Prometheus
  • Datadog
  • StatsD

Pro

  • Ottimo per ambienti enterprise o alta osservabilità.
  • Integrazione semplice.

 

Contro

  • Richiede un sistema esterno per visualizzare metriche.
  • Alcuni exporter devono essere configurati separatamente.

 

9 – Alta Disponibilità (HA)

Supporto a modalità Ingress Controller in Kubernetes o con provider distribuiti.

Pro

  • Funziona bene in cluster (Kubernetes soprattutto).
  • Configurazione condivisibile via provider esterni.

 

Contro

  • L’HA nativo tra nodi “bare metal” è più complesso.
  • Richiede storage condiviso per certificati (es. bucket, consul).

 

10 – Facilità di Deploy

Traefik è un singolo binario auto-contenuto.

Pro

  • Installazione molto semplice.
  • Aggiornamenti veloci: basta sostituire il binario.
  • Ottimo per sistemi minimal, container e VM leggere.

 

Contro

  • Meno configurabile rispetto a server più complessi (NGINX, HAProxy).
  • Le opzioni CLI e YAML vanno capite bene per evitare errori.

Articoli Recenti

Veeam Backup

Monitoring

Friends

  • My English Lab  English School
  • ChrSystem   Servizi ICT
  • Since 01  Kreative Graphics

Database

Networking

Autori

  • Raffaele Chiatto  Amministratore
  • Marco Valle  Autore
  • Angelo Lauria  Autore
  • Edoardo Prot  Autore
  • Davide D’Urso  Autore
Raffaele Chiatto

Raffaele Chiatto

Sono Raffaele Chiatto, un appassionato di informatica a 360 gradi. Tutto è iniziato nel 1996, quando ho scoperto il mondo dell'informatica grazie a Windows 95, e da quel momento non ho più smesso di esplorare e imparare. Ogni giorno mi dedico con curiosità e passione a scoprire le nuove frontiere di questo settore in continua evoluzione.
Categorie: Traefik | Ubuntu

Related Post

0 commenti

Invia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Virtualizzazione

Linux

Microsoft

Apple

Backup

Database

Security

Automazione