25 октября 2026 г. · by Alex M.
Если вы запускаете несколько веб-приложений на одном VPS NVMe и хотите управлять трафиком, SSL-сертификатами и маршрутизацией без утомительных ручных настроек Nginx — Traefik станет вашим незаменимым инструментом.
Traefik — это современный облачный обратный прокси и балансировщик нагрузки, созданный для экосистем Docker и Kubernetes. Он автоматически обнаруживает контейнеры, генерирует SSL-сертификаты через Let's Encrypt и обновляет конфигурацию без перезапуска. В этом руководстве мы пройдём полный цикл установки и настройки Traefik на Ubuntu 22.04.
Traefik кардинально отличается от традиционных обратных прокси:
Если у вас VPS SSD с несколькими Docker-контейнерами (WordPress, Nextcloud, собственные приложения), Traefik — идеальный оркестратор трафика.
Перед началом убедитесь, что у вас есть:
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
Проверка:
docker --version
docker compose version
Создайте рабочую директорию:
mkdir -p /opt/traefik/data
cd /opt/traefik
Создайте файл для хранения SSL-сертификатов:
touch /opt/traefik/data/acme.json
chmod 600 /opt/traefik/data/acme.json
Важно: права
600наacme.jsonобязательны. Traefik не запустится, если файл доступен другим пользователям.
nano /opt/traefik/data/traefik.yml
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: {}
Ключевые параметры:
redirections: автоматически перенаправляет HTTP на HTTPSexposedByDefault: false: контейнеры не публикуются без явной меткиnetwork: traefik-net: выделенная Docker-сеть для TraefikСоздайте внешнюю Docker-сеть:
docker network create traefik-net
Создайте файл 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.vashomain.com`)"
- "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..."
networks:
traefik-net:
external: true
apt install -y apache2-utils
htpasswd -nb admin MoiSecretnyiParol123
# Пример вывода: admin:$apr1$8Kv...Hash
В docker-compose.yml каждый символ $ замените на $$ (экранирование Docker Compose).
cd /opt/traefik
docker compose up -d
Проверка работы:
docker ps
docker logs traefik --tail=50
Дашборд будет доступен по адресу https://traefik.vashomain.com — сертификат выдаётся автоматически за несколько секунд.
Покажем, как подключить Nginx-контейнер к Traefik:
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.vashomain.com`)"
- "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 автоматически обнаружит контейнер, выпустит SSL-сертификат для site.vashomain.com и направит трафик — без перезапуска и изменения конфигурации Traefik.
Middleware позволяют добавить дополнительный функционал к маршрутам:
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"
Можно объединять несколько middleware через запятую:
- "traefik.http.routers.mysite.middlewares=ratelimit,secheaders,compress"
Просмотр логов в реальном времени:
docker logs traefik -f
Для сохранения логов в файл добавьте в traefik.yml:
log:
level: WARNING
filePath: /data/traefik.log
accessLog:
filePath: /data/access.log
bufferingSize: 100
Traefik нативно поддерживает экспорт метрик для Prometheus и Grafana:
metrics:
prometheus:
entryPoint: metrics
entryPoints:
metrics:
address: ":8082"
Это позволяет строить полноценные дашборды мониторинга для всего вашего стека.
Обновление Traefik до новой версии:
cd /opt/traefik
docker compose pull
docker compose up -d
Проверка текущей версии:
docker exec traefik traefik version
Перед крупными обновлениями делайте резервную копию сертификатов:
cp /opt/traefik/data/acme.json /opt/traefik/data/acme.json.bak
| Характеристика | Traefik | Nginx Proxy Manager |
|---|---|---|
| Автообнаружение Docker | ✅ Нативное | ❌ Ручное |
| Автоматический SSL | ✅ | ✅ |
| Дашборд | ✅ Встроенный | ✅ Веб-интерфейс |
| Конфигурация | Docker Labels | Графический интерфейс |
| Продвинутый middleware | ✅ | Ограниченно |
| Подходит для | DevOps, контейнеры | Нетехнические пользователи |
curl http://vashomain.comacme.json: chmod 600docker logs traefik 2>&1 | grep -i acmetraefik.enable=truetraefik-net$$ должен стоять вместо $ (экранирование)Traefik — это мощный и элегантный инструмент для управления трафиком в современных контейнеризированных стеках. Автоматический SSL, динамическая маршрутизация и богатый набор middleware делают его незаменимым в DevOps-практике.
Для комфортной работы с Traefik и Docker вам нужен производительный сервер. VPS NVMe от CLIQHOST обеспечивают высокую скорость дисков, надёжное сетевое соединение и ресурсы, достаточные для запуска сложных стеков приложений.
Если ваш проект требует максимальной производительности, рассмотрите управляемые выделенные серверы CLIQHOST — полностью настроенное решение для продакшн-инфраструктуры.
Нужна помощь с настройкой сервера? Служба управления серверами CLIQHOST возьмёт на себя все технические задачи. Свяжитесь с нами — ответим быстро.
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."