Caddy как reverse proxy с автоматическим TLS
Caddy — это веб-сервер и обратный прокси, главная особенность которого — автоматический HTTPS из коробки. В отличие от связки nginx + certbot, тут не нужно вручную выпускать и продлевать сертификаты: Caddy сам общается с Let's Encrypt по ACME и держит TLS актуальным.
Минимальный конфиг
Вся конфигурация живёт в одном файле — Caddyfile. Чтобы проксировать домен на приложение, слушающее порт 8000, достаточно трёх строк:
app.example.org {
reverse_proxy localhost:8000
}
При первом запросе Caddy увидит новый домен, пройдёт ACME-челлендж и выпустит сертификат. Обязательное условие — A-запись домена должна указывать на этот сервер, иначе HTTP-01 челлендж не пройдёт.
Несколько сайтов и статика
На одном сервере можно держать сколько угодно сайтов — каждый своим блоком. Динамику отдаём через reverse_proxy, статику — через file_server:
romefell.org, www.romefell.org {
root * /srv/site
encode zstd gzip
file_server
try_files {path} {path}/ /index.html
}
ocr.romefell.org {
reverse_proxy ocr:8000
}
Директива encode включает сжатие, file_server отдаёт файлы из root, а try_files аккуратно разрешает «красивые» URL без расширения. Перечитать конфиг без даунтайма — caddy reload.
Итог
Caddy снимает с вас всю рутину вокруг сертификатов и даёт читаемый конфиг. Для небольшого парка сервисов это заметно проще, чем nginx, и почти не требует обслуживания.