// Blog

Cum instalezi și configurezi Traefik ca Reverse Proxy pe un VPS Linux: ghid complet — CLIQHOST

25 octombrie 2026 · by Alex M.

Cum instalezi și configurezi Traefik ca Reverse Proxy pe un VPS Linux: ghid complet — CLIQHOST

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.


Ce este Traefik și de ce să îl folosești?

Traefik se diferențiază de Nginx sau Apache prin câteva caracteristici esențiale:

  • Auto-discovery: detectează automat containerele Docker și le configurează fără restart
  • SSL automat: generează și reînnoiește certificate Let's Encrypt fără intervenție manuală
  • Dashboard vizual: interfață web pentru monitorizarea rutelor și serviciilor
  • Routing dinamic: regulile se actualizează live, fără downtime
  • Compatibilitate Kubernetes, Docker Swarm, Consul și altele

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.


Cerințe preliminare

Înainte de a începe, asigură-te că ai:

  • Un VPS Linux cu Ubuntu 22.04 (recomandat VPS NVMe de la CLIQHOST)
  • Acces root sau sudo
  • Docker și Docker Compose instalate
  • Un domeniu activ cu DNS configurat către IP-ul serverului
  • Porturile 80 și 443 deschise în firewall

Instalarea Docker (dacă nu este deja instalat)

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

Pasul 1: Pregătirea structurii de directoare

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 600 pe acme.json sunt obligatorii. Traefik refuză să pornească dacă fișierul este accesibil altor utilizatori.


Pasul 2: Configurarea fișierului traefik.yml

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 HTTPS
  • exposedByDefault: false: Traefik nu expune containerele dacă nu le marchezi explicit
  • network: traefik-net: rețeaua Docker dedicată pentru Traefik

Pasul 3: Crearea rețelei Docker și fișierului docker-compose.yml

Creează 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

Generarea parolei pentru dashboard

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).


Pasul 4: Pornirea Traefik

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).


Pasul 5: Adăugarea primei aplicații — exemplu cu Nginx

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.


Pasul 6: Middleware-uri utile în Traefik

Traefik oferă middleware-uri pentru a îmbunătăți securitatea și performanța. Iată cele mai comune:

Rate Limiting

labels:
  - "traefik.http.middlewares.ratelimit.ratelimit.average=100"
  - "traefik.http.middlewares.ratelimit.ratelimit.burst=50"
  - "traefik.http.routers.mysite.middlewares=ratelimit"

Headers de securitate

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"

Compress (gzip)

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"

Pasul 7: Configurarea log-urilor și monitorizarea

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"

Pasul 8: Actualizarea și mentenanța Traefik

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

Traefik vs Nginx Proxy Manager — comparație rapidă

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

Probleme frecvente și soluții

Certificatul SSL nu se emite

  • Verifică că portul 80 este accesibil public (curl http://domeniultau.md)
  • Verifică permisiunile pe acme.json (chmod 600)
  • Consultă log-urile: docker logs traefik 2>&1 | grep -i acme

Containerul nu apare în Traefik

  • Asigură-te că are label-ul traefik.enable=true
  • Verifică că este în rețeaua traefik-net
  • Restartează containerul și verifică log-urile

Dashboard inaccesibil

  • Verifică că subdomenul DNS este corect configurat
  • Verifică middleware-ul auth — hash-ul parolei trebuie să aibă $$ în loc de $

Concluzie

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.

SHARE
// what clients say

What Our Clients Say

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."

AM
Andrei M.
eCommerce owner · Chișinău
★★★★★

"Migrated 12 client sites to CLIQHOST. Free migration, zero downtime, and the cPanel setup is exactly what my team needed. Highly recommend."

EV
Elena V.
Web agency · Bălți
★★★★★

"Our NVMe VPS handles traffic spikes without a sweat. Full root, local datacenter, and billing in MDL — everything we wanted from a provider."

DC
Dmitri C.
SaaS founder · Chișinău