25 octombrie 2026 · by Alex M.
Dacă rulezi mai multe aplicații web pe același VPS NVMe și vrei să le expui pe internet fără să gestionezi manual certificate SSL, porturi și configurații Nginx complicate, Traefik este soluția modernă pe care o cauți.
Traefik este un reverse proxy și load balancer cloud-native, construit special pentru ecosisteme cu containere Docker sau Kubernetes. Se integrează nativ cu Let's Encrypt, detectează automat serviciile noi și elimină aproape complet configurația manuală. În acest ghid complet vei învăța cum să instalezi și configurezi Traefik pe un VPS Linux cu Ubuntu 22.04.
Traefik se diferențiază de Nginx sau Apache prin câteva caracteristici esențiale:
Dacă ai un VPS SSD pe care rulezi mai multe containere Docker (de exemplu WordPress, Nextcloud, Gitea), Traefik devine un orchestrator de trafic extrem de eficient.
Înainte de a începe, asigură-te că ai:
apt update && apt upgrade -y
apt install -y ca-certificates curl gnupg
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | gpg --dearmor -o /usr/share/keyrings/docker.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker.gpg] \
https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" \
> /etc/apt/sources.list.d/docker.list
apt update
apt install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
Verifică instalarea:
docker --version
docker compose version
Creează un director dedicat pentru Traefik:
mkdir -p /opt/traefik/data
cd /opt/traefik
Creează fișierul pentru stocarea certificatelor SSL (trebuie să existe înainte de pornire):
touch /opt/traefik/data/acme.json
chmod 600 /opt/traefik/data/acme.json
Important: permisiunile
600peacme.jsonsunt obligatorii. Traefik refuză să pornească dacă fișierul este accesibil altor utilizatori.
Creează fișierul de configurare statică:
nano /opt/traefik/data/traefik.yml
Conținut recomandat:
api:
dashboard: true
insecure: false
entryPoints:
web:
address: ":80"
http:
redirections:
entryPoint:
to: websecure
scheme: https
websecure:
address: ":443"
certificatesResolvers:
letsencrypt:
acme:
email: [email protected]
storage: /data/acme.json
httpChallenge:
entryPoint: web
providers:
docker:
endpoint: "unix:///var/run/docker.sock"
exposedByDefault: false
network: traefik-net
log:
level: INFO
accessLog: {}
Explicații cheie:
redirections: redirecționează automat tot traficul HTTP către HTTPSexposedByDefault: false: Traefik nu expune containerele dacă nu le marchezi explicitnetwork: traefik-net: rețeaua Docker dedicată pentru TraefikCreează rețeaua externă Docker:
docker network create traefik-net
Creează fișierul docker-compose.yml:
nano /opt/traefik/docker-compose.yml
version: '3.8'
services:
traefik:
image: traefik:v3.0
container_name: traefik
restart: unless-stopped
security_opt:
- no-new-privileges:true
ports:
- "80:80"
- "443:443"
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
- /opt/traefik/data/traefik.yml:/traefik.yml:ro
- /opt/traefik/data/acme.json:/data/acme.json
networks:
- traefik-net
labels:
- "traefik.enable=true"
- "traefik.http.routers.dashboard.rule=Host(`traefik.domeniultau.md`)"
- "traefik.http.routers.dashboard.entrypoints=websecure"
- "traefik.http.routers.dashboard.tls.certresolver=letsencrypt"
- "traefik.http.routers.dashboard.service=api@internal"
- "traefik.http.routers.dashboard.middlewares=auth"
- "traefik.http.middlewares.auth.basicauth.users=admin:$$apr1$$xyz..." # generat cu htpasswd
networks:
traefik-net:
external: true
apt install -y apache2-utils
htpasswd -nb admin parolaSecreta123
# Output exemplu: admin:$apr1$8Kv...Hashed
În docker-compose.yml, înlocuiește $$ în locul fiecărui $ din hash-ul generat (escaping Docker Compose).
cd /opt/traefik
docker compose up -d
Verifică că rulează:
docker ps
docker logs traefik --tail=50
Dashboard-ul va fi disponibil la https://traefik.domeniultau.md după emiterea certificatului SSL (câteva secunde).
Pentru a înțelege cum funcționează rutarea dinamică, vom adăuga un container Nginx simplu:
mkdir -p /opt/apps/mysite
nano /opt/apps/mysite/docker-compose.yml
version: '3.8'
services:
mysite:
image: nginx:alpine
container_name: mysite
restart: unless-stopped
networks:
- traefik-net
labels:
- "traefik.enable=true"
- "traefik.http.routers.mysite.rule=Host(`site.domeniultau.md`)"
- "traefik.http.routers.mysite.entrypoints=websecure"
- "traefik.http.routers.mysite.tls.certresolver=letsencrypt"
networks:
traefik-net:
external: true
cd /opt/apps/mysite
docker compose up -d
Traefik detectează automat containerul nou, emite un certificat SSL pentru site.domeniultau.md și direcționează traficul — fără niciun restart și fără modificarea configurației Traefik.
Traefik oferă middleware-uri pentru a îmbunătăți securitatea și performanța. Iată cele mai comune:
labels:
- "traefik.http.middlewares.ratelimit.ratelimit.average=100"
- "traefik.http.middlewares.ratelimit.ratelimit.burst=50"
- "traefik.http.routers.mysite.middlewares=ratelimit"
labels:
- "traefik.http.middlewares.secheaders.headers.stsSeconds=31536000"
- "traefik.http.middlewares.secheaders.headers.stsIncludeSubdomains=true"
- "traefik.http.middlewares.secheaders.headers.contentTypeNosniff=true"
- "traefik.http.middlewares.secheaders.headers.browserXssFilter=true"
- "traefik.http.routers.mysite.middlewares=secheaders"
labels:
- "traefik.http.middlewares.compress.compress=true"
- "traefik.http.routers.mysite.middlewares=compress"
Poți combina mai multe middleware-uri:
- "traefik.http.routers.mysite.middlewares=ratelimit,secheaders,compress"
Traefik scrie log-uri de acces și erori, utile pentru debugging:
docker logs traefik -f
Pentru log-uri persistente, adaugă în traefik.yml:
log:
level: WARNING
filePath: /data/traefik.log
accessLog:
filePath: /data/access.log
bufferingSize: 100
Montează directorul /data în docker-compose.yml ca volum suplimentar.
Dacă folosești Prometheus și Grafana pentru monitorizare, Traefik expune nativ un endpoint de metrici:
metrics:
prometheus:
entryPoint: metrics
entryPoints:
metrics:
address: ":8082"
Pentru a actualiza Traefik la o versiune nouă:
cd /opt/traefik
docker compose pull
docker compose up -d
Verifică versiunea curentă:
docker exec traefik traefik version
Backup acme.json înainte de orice actualizare majoră:
cp /opt/traefik/data/acme.json /opt/traefik/data/acme.json.bak
| Caracteristică | Traefik | Nginx Proxy Manager |
|---|---|---|
| Auto-discovery Docker | ✅ Nativ | ❌ Manual |
| SSL automat | ✅ | ✅ |
| Dashboard | ✅ Built-in | ✅ UI web |
| Configurare | Labels Docker | Interfață grafică |
| Middleware avansat | ✅ | Limitat |
| Potrivit pentru | DevOps, containere | Utilizatori non-tehnici |
curl http://domeniultau.md)acme.json (chmod 600)docker logs traefik 2>&1 | grep -i acmetraefik.enable=truetraefik-netauth — hash-ul parolei trebuie să aibă $$ în loc de $Traefik simplifică radical gestionarea traficului web pe un server cu multiple aplicații containerizate. Combinat cu Docker, oferă SSL automat, routing dinamic și middleware-uri de securitate — toate fără downtime și fără configurație repetitivă.
Pentru a profita la maximum de Traefik, ai nevoie de un server performant cu resurse suficiente. VPS-urile NVMe de la CLIQHOST sunt ideale pentru astfel de stive DevOps moderne, cu SSD-uri rapide, conectivitate excelentă și suport tehnic disponibil.
Dacă preferi un server cu resurse dedicate, explorează serverele dedicate managed de la CLIQHOST — o soluție completă pentru infrastructuri de producție.
Ai nevoie de ajutor cu configurarea sau administrarea serverului? Echipa CLIQHOST oferă servicii de management server pentru a-ți prelua responsabilitățile tehnice. Contactează-ne și îți vom răspunde rapid.
Real reviews from customers who trust CLIQHOST for performance, reliability and expert technical support.
"We moved our online shop from a foreign host and the difference is night and day — pages load instantly and support replies in minutes, in Romanian."
"Migrated 12 client sites to CLIQHOST. Free migration, zero downtime, and the cPanel setup is exactly what my team needed. Highly recommend."
"Our NVMe VPS handles traffic spikes without a sweat. Full root, local datacenter, and billing in MDL — everything we wanted from a provider."