Caddy как reverse proxy для Docker в 2026 году
Настройка Caddy как reverse proxy для Docker-контейнеров в 2026 году: практическое руководство с личным VPS SANSARA. Защищённый шлюз для веб-приложений на одном сервере.
Если вы хотите запустить несколько веб-приложений на одном личном VPS и объединить их под единым защищённым шлюзом, Caddy — один из самых простых вариантов. Он автоматически получает SSL-сертификаты, работает с Docker и не требует сложной конфигурации. С личным VPS SANSARA вы получаете готовый сервер в кабинете, импортируете данные в клиент и можете сразу настраивать Caddy как reverse proxy для своих контейнеров.
Коротко:
- Caddy — это веб-сервер с автоматическим HTTPS, который удобно использовать как reverse proxy перед Docker-контейнерами.
- На личном VPS SANSARA вы получаете выделенный узел в одной из 9+ локаций, без ручной установки панелей и без терминала для обычного пользователя.
- Настройка сводится к простому файлу конфигурации Caddy и нескольким Docker-контейнерам.
- Доступ с iPhone, Android, Windows и macOS через клиенты, которые поддерживают импорт конфигурации из кабинета SANSARA.
- Telegram-бот SANSARA помогает управлять статусом сервера и получать уведомления о важных событиях.
Что это и кому подходит
Reverse proxy — это сервер, который принимает входящие запросы от клиентов и перенаправляет их на внутренние сервисы. Например, вы можете иметь на одном личном VPS несколько веб-приложений в Docker-контейнерах (сайт, API, панель управления), а Caddy будет стоять перед ними и распределять трафик по доменам или путям.
Caddy удобен тем, что:
- Автоматически получает и обновляет SSL-сертификаты через Let’s Encrypt.
- Конфигурация пишется в одном файле в понятном формате.
- Легко интегрируется с Docker через сеть контейнеров или по портам.
Этот подход подойдёт:
- Разработчикам, которые хотят разместить несколько проектов на одном личном сервере.
- Владельцам личных VPS, которые не хотят разбираться с настройкой Nginx или Apache.
- Тем, кто ценит автоматизацию: один раз настроить Caddy и забыть про SSL.
Как настроить по шагам (с личным VPS SANSARA)
Предположим, у вас уже есть личный VPS SANSARA. Данные для подключения вы получаете в кабинете и импортируете в клиент на своём устройстве. Далее настраиваем Caddy как reverse proxy для Docker-контейнеров.
- 01Подготовка сервера
Убедитесь, что на вашем личном VPS установлен Docker и Docker Compose. Если нет — установите их по официальной инструкции для вашей ОС сервера.
- 01Создание структуры проекта
Создайте папку для проекта, например /opt/caddy-proxy, и внутри неё:
- docker-compose.yml — описание сервисов.
- Caddyfile — конфигурация Caddy.
- data/caddy — для хранения данных Caddy (сертификаты и т.д.).
- 01Пример docker-compose.yml
`yaml version: '3.8'
services: caddy: image: caddy:2-alpine restart: unless-stopped ports:
- "80:80"
- "443:443"
volumes:
- ./Caddyfile:/etc/caddy/Caddyfile
- ./data/caddy:/data
- ./data/caddy/config:/config
networks:
- app-network
app1: image: nginx:alpine restart: unless-stopped networks:
- app-network
app2: image: some-web-app:latest restart: unless-stopped networks:
- app-network
networks: app-network: driver: bridge `
Здесь:
- caddy слушает порты 80 и 443.
- app1 и app2 — примеры ваших веб-приложений.
- Все контейнеры подключены к общей сети app-network.
- 01Пример Caddyfile
` example.com { reverse_proxy app1:80 }
api.example.com { reverse_proxy app2:3000 } `
Это означает:
- Запросы к example.com перенаправляются на контейнер app1 на порт 80.
- Запросы к api.example.com идут на app2:3000.
Caddy автоматически получит SSL-сертификаты для указанных доменов.
- 01Запуск
В папке проекта выполните:
`bash docker-compose up -d `
Caddy запустится как reverse proxy, а ваши приложения будут доступны по заданным доменам через HTTPS.
- 01Настройка доменов
В DNS вашего домена укажите A-запись на IP-адрес вашего личного VPS SANSARA. После этого Caddy сможет получить сертификаты и начать обслуживать трафик.
Если вы не хотите работать через терминал, можно использовать готовые образы или шаблоны, которые упрощают настройку Caddy вместе с Docker.
Устройства: iPhone, Android, Windows, macOS
Личный VPS SANSARA совместим с клиентами для iPhone, Android, Windows и macOS. Вы регистрируетесь в сервисе, получаете данные подключения в кабинете и импортируете их в клиент на своём устройстве. После этого:
- На Windows и macOS вы можете использовать десктопные клиенты, которые поддерживают импорт конфигурации.
- На iPhone и Android — мобильные приложения, которые позволяют быстро включить или выключить соединение с личным сервером.
Telegram-бот SANSARA помогает следить за состоянием вашего выделенного узла и получать уведомления, например, о перезагрузке сервисов или изменениях в конфигурации.
Caddy как reverse proxy работает на стороне сервера, поэтому с точки зрения клиентских устройств вы просто подключаетесь к своему личному VPS стандартными средствами.
Частые ошибки и как их избежать
- 01Неправильные порты в Caddyfile
Убедитесь, что в директиве reverse_proxy указан правильный порт контейнера, а не порт на хосте. Например, если контейнер слушает 3000 внутри Docker-сети, пишите app:3000, а не localhost:3000.
- 01Отсутствие общей сети Docker
Все контейнеры, которые должны общаться через Caddy, должны быть в одной сети (как в примере выше с app-network). Иначе Caddy не сможет до них «достучаться».
- 01Проблемы с DNS
Если домен не резолвится на IP вашего VPS, Caddy не получит сертификат. Проверьте A-запись и подождите распространение DNS (обычно несколько минут–часов).
- 01Забыли пробросить порты Caddy
В docker-compose.yml для сервиса caddy должны быть проброшены порты 80 и 443 на хост, иначе входящий трафик не попадёт в Caddy.
- 01Конфликт с другим веб-сервером
Если на том же VPS уже работает Nginx или Apache на портах 80/443, остановите их или перенастройте, чтобы Caddy мог занять эти порты.
- 01Ошибки прав доступа к данным Caddy
Папка data/caddy должна быть доступна для записи контейнеру Caddy, иначе он не сможет сохранять сертификаты и конфигурацию.
FAQ
Нужно ли мне покупать SSL-сертификат для доменов, если я использую Caddy?+
Нет. Caddy автоматически получает бесплатные SSL-сертификаты от Let’s Encrypt для указанных в Caddyfile доменов, если они корректно настроены в DNS.
Могу ли я использовать Caddy как reverse proxy для не-Docker приложений на том же VPS?+
Да. Caddy может проксировать запросы на любой локальный сервис по IP и порту, не обязательно запущенный в Docker.
Что делать, если Caddy не стартует из-за ошибки в Caddyfile?+
Проверьте синтаксис Caddyfile с помощью команды docker-compose logs caddy. Чаще всего ошибки связаны с неправильными отступами, опечатками в доменах или неправильными директивами.
Можно ли настроить Caddy для балансировки нагрузки между несколькими контейнерами?+
Да, в директиве reverse_proxy можно указать несколько адресов, и Caddy будет распределять запросы между ними.
Поддерживает ли Caddy HTTP/2 и HTTP/3?+
Да, Caddy поддерживает HTTP/2 «из коробки», а HTTP/3 можно включить дополнительной настройкой, если ваш клиент и сервер его поддерживают.
Итог
- Настройте Caddy как reverse proxy на личном VPS SANSARA, чтобы объединить несколько веб-приложений под единым защищённым шлюзом.
- Используйте Docker Compose для управления контейнерами и общей сетью, а Caddyfile — для описания правил маршрутизации.
- Убедитесь, что домены правильно настроены в DNS и что порты 80 и 443 свободны на сервере.
- Импортируйте конфигурацию из кабинета SANSARA в клиенты на iPhone, Android, Windows или macOS для доступа к своему выделенному узлу.
- Следите за состоянием сервера через Telegram-бот SANSARA, чтобы быстро реагировать на возможные проблемы.
Ещё по теме
Читайте также
CTA · SANSARA
Личный VPS — без терминала и очередей
Регистрация, импорт профиля и стабильный канал на телефон и компьютер. Тот же принцип, о котором мы пишем в блоге — на практике.