Caddy как reverse proxy с автоматическим HTTPS
Caddy — практичный reverse proxy для маленьких проектов, где нужен автоматический HTTPS без лишней возни с certbot. Один бинарник и один файл закрывают задачу, которую обычно решают связкой из нескольких компонентов.
Когда имеет смысл
Caddy хорошо подходит, когда на одном VDS несколько сервисов и хочется автоматические сертификаты без отдельного certbot. Конфиг остаётся читаемым. Если уже есть сложный рабочий nginx — переезжать не обязательно.
Caddy хорошо подходит, когда на одном VDS несколько сервисов и хочется автоматические сертификаты без отдельного certbot. Конфиг остаётся читаемым. Если уже есть сложный рабочий nginx — переезжать не обязательно.
Установка и первый запуск
Установка из официального репозитория. Проверка, что порты 80 и 443 свободны. Минимальный Caddyfile с reverse_proxy или file_server. Валидация и reload. Сертификат получается автоматически, если DNS смотрит на сервер.
Установка из официального репозитория. Проверка, что порты 80 и 443 свободны. Минимальный Caddyfile с reverse_proxy или file_server. Валидация и reload. Сертификат получается автоматически, если DNS смотрит на сервер.
Несколько сервисов
Несколько блоков в одном файле для разных доменов. Передача заголовков X-Forwarded-For и X-Forwarded-Proto для приложений. Как избежать петель редиректа.
Несколько блоков в одном файле для разных доменов. Передача заголовков X-Forwarded-For и X-Forwarded-Proto для приложений. Как избежать петель редиректа.
Типичные проблемы
Сертификат не выдаётся из-за DNS или firewall. 502 если бэкенд не запущен. Логи в journald. Конфиг легко бэкапить.
Сертификат не выдаётся из-за DNS или firewall. 502 если бэкенд не запущен. Логи в journald. Конфиг легко бэкапить.
Сопровождение
Проверка автозапуска после ребута. Обновления через apt. Когда лучше остаться на nginx. Короткая заметка рядом с конфигом.
Проверка автозапуска после ребута. Обновления через apt. Когда лучше остаться на nginx. Короткая заметка рядом с конфигом.
На практике после настройки стоит проверить, что сервис поднимается после перезагрузки, логи доступны одной командой, конфиг можно найти через полгода, а бэкап, если он есть, реально восстанавливается. Короткая заметка рядом с конфигом — как перезапустить и куда смотреть — экономит время позже. Обновления лучше делать, когда можно посмотреть результат. Минимальный рабочий набор обычно лучше, чем сразу все возможные опции. Для маленьких проектов этого достаточно, чтобы система оставалась понятной и не требовала постоянного внимания.
На практике после настройки стоит проверить, что сервис поднимается после перезагрузки, логи доступны одной командой, конфиг можно найти через полгода, а бэкап, если он есть, реально восстанавливается. Короткая заметка рядом с конфигом — как перезапустить и куда смотреть — экономит время позже. Обновления лучше делать, когда можно посмотреть результат. Минимальный рабочий набор обычно лучше, чем сразу все возможные опции. Для маленьких проектов этого достаточно, чтобы система оставалась понятной и не требовала постоянного внимания.
На практике после настройки стоит проверить, что сервис поднимается после перезагрузки, логи доступны одной командой, конфиг можно найти через полгода, а бэкап, если он есть, реально восстанавливается. Короткая заметка рядом с конфигом — как перезапустить и куда смотреть — экономит время позже. Обновления лучше делать, когда можно посмотреть результат. Минимальный рабочий набор обычно лучше, чем сразу все возможные опции. Для маленьких проектов этого достаточно, чтобы система оставалась понятной и не требовала постоянного внимания.
На практике после настройки стоит проверить, что сервис поднимается после перезагрузки, логи доступны одной командой, конфиг можно найти через полгода, а бэкап, если он есть, реально восстанавливается. Короткая заметка рядом с конфигом — как перезапустить и куда смотреть — экономит время позже. Обновления лучше делать, когда можно посмотреть результат. Минимальный рабочий набор обычно лучше, чем сразу все возможные опции. Для маленьких проектов этого достаточно, чтобы система оставалась понятной и не требовала постоянного внимания.
На практике после настройки стоит проверить, что сервис поднимается после перезагрузки, логи доступны одной командой, конфиг можно найти через полгода, а бэкап, если он есть, реально восстанавливается. Короткая заметка рядом с конфигом — как перезапустить и куда смотреть — экономит время позже. Обновления лучше делать, когда можно посмотреть результат. Минимальный рабочий набор обычно лучше, чем сразу все возможные опции. Для маленьких проектов этого достаточно, чтобы система оставалась понятной и не требовала постоянного внимания.
На практике после настройки стоит проверить, что сервис поднимается после перезагрузки, логи доступны одной командой, конфиг можно найти через полгода, а бэкап, если он есть, реально восстанавливается. Короткая заметка рядом с конфигом — как перезапустить и куда смотреть — экономит время позже. Обновления лучше делать, когда можно посмотреть результат. Минимальный рабочий набор обычно лучше, чем сразу все возможные опции. Для маленьких проектов этого достаточно, чтобы система оставалась понятной и не требовала постоянного внимания.
На практике после настройки стоит проверить, что сервис поднимается после перезагрузки, логи доступны одной командой, конфиг можно найти через полгода, а бэкап, если он есть, реально восстанавливается. Короткая заметка рядом с конфигом — как перезапустить и куда смотреть — экономит время позже. Обновления лучше делать, когда можно посмотреть результат. Минимальный рабочий набор обычно лучше, чем сразу все возможные опции. Для маленьких проектов этого достаточно, чтобы система оставалась понятной и не требовала постоянного внимания.
На практике после настройки стоит проверить, что сервис поднимается после перезагрузки, логи доступны одной командой, конфиг можно найти через полгода, а бэкап, если он есть, реально восстанавливается. Короткая заметка рядом с конфигом — как перезапустить и куда смотреть — экономит время позже. Обновления лучше делать, когда можно посмотреть результат. Минимальный рабочий набор обычно лучше, чем сразу все возможные опции. Для маленьких проектов этого достаточно, чтобы система оставалась понятной и не требовала постоянного внимания.
На практике после настройки стоит проверить, что сервис поднимается после перезагрузки, логи доступны одной командой, конфиг можно найти через полгода, а бэкап, если он есть, реально восстанавливается. Короткая заметка рядом с конфигом — как перезапустить и куда смотреть — экономит время позже. Обновления лучше делать, когда можно посмотреть результат. Минимальный рабочий набор обычно лучше, чем сразу все возможные опции. Для маленьких проектов этого достаточно, чтобы система оставалась понятной и не требовала постоянного внимания.
На практике после настройки стоит проверить, что сервис поднимается после перезагрузки, логи доступны одной командой, конфиг можно найти через полгода, а бэкап, если он есть, реально восстанавливается. Короткая заметка рядом с конфигом — как перезапустить и куда смотреть — экономит время позже. Обновления лучше делать, когда можно посмотреть результат. Минимальный рабочий набор обычно лучше, чем сразу все возможные опции. Для маленьких проектов этого достаточно, чтобы система оставалась понятной и не требовала постоянного внимания.
На практике после настройки стоит проверить, что сервис поднимается после перезагрузки, логи доступны одной командой, конфиг можно найти через полгода, а бэкап, если он есть, реально восстанавливается. Короткая заметка рядом с конфигом — как перезапустить и куда смотреть — экономит время позже. Обновления лучше делать, когда можно посмотреть результат. Минимальный рабочий набор обычно лучше, чем сразу все возможные опции. Для маленьких проектов этого достаточно, чтобы система оставалась понятной и не требовала постоянного внимания.
На практике после настройки стоит проверить, что сервис поднимается после перезагрузки, логи доступны одной командой, конфиг можно найти через полгода, а бэкап, если он есть, реально восстанавливается. Короткая заметка рядом с конфигом — как перезапустить и куда смотреть — экономит время позже. Обновления лучше делать, когда можно посмотреть результат. Минимальный рабочий набор обычно лучше, чем сразу все возможные опции. Для маленьких проектов этого достаточно, чтобы система оставалась понятной и не требовала постоянного внимания.
На практике после настройки стоит проверить, что сервис поднимается после перезагрузки, логи доступны одной командой, конфиг можно найти через полгода, а бэкап, если он есть, реально восстанавливается. Короткая заметка рядом с конфигом — как перезапустить и куда смотреть — экономит время позже. Обновления лучше делать, когда можно посмотреть результат. Минимальный рабочий набор обычно лучше, чем сразу все возможные опции. Для маленьких проектов этого достаточно, чтобы система оставалась понятной и не требовала постоянного внимания.
На практике после настройки стоит проверить, что сервис поднимается после перезагрузки, логи доступны одной командой, конфиг можно найти через полгода, а бэкап, если он есть, реально восстанавливается. Короткая заметка рядом с конфигом — как перезапустить и куда смотреть — экономит время позже. Обновления лучше делать, когда можно посмотреть результат. Минимальный рабочий набор обычно лучше, чем сразу все возможные опции. Для маленьких проектов этого достаточно, чтобы система оставалась понятной и не требовала постоянного внимания.
На практике после настройки стоит проверить, что сервис поднимается после перезагрузки, логи доступны одной командой, конфиг можно найти через полгода, а бэкап, если он есть, реально восстанавливается. Короткая заметка рядом с конфигом — как перезапустить и куда смотреть — экономит время позже. Обновления лучше делать, когда можно посмотреть результат. Минимальный рабочий набор обычно лучше, чем сразу все возможные опции. Для маленьких проектов этого достаточно, чтобы система оставалась понятной и не требовала постоянного внимания.
На практике после настройки стоит проверить, что сервис поднимается после перезагрузки, логи доступны одной командой, конфиг можно найти через полгода, а бэкап, если он есть, реально восстанавливается. Короткая заметка рядом с конфигом — как перезапустить и куда смотреть — экономит время позже. Обновления лучше делать, когда можно посмотреть результат. Минимальный рабочий набор обычно лучше, чем сразу все возможные опции. Для маленьких проектов этого достаточно, чтобы система оставалась понятной и не требовала постоянного внимания.
На практике после настройки стоит проверить, что сервис поднимается после перезагрузки, логи доступны одной командой, конфиг можно найти через полгода, а бэкап, если он есть, реально восстанавливается. Короткая заметка рядом с конфигом — как перезапустить и куда смотреть — экономит время позже. Обновления лучше делать, когда можно посмотреть результат. Минимальный рабочий набор обычно лучше, чем сразу все возможные опции. Для маленьких проектов этого достаточно, чтобы система оставалась понятной и не требовала постоянного внимания.
На практике после настройки стоит проверить, что сервис поднимается после перезагрузки, логи доступны одной командой, конфиг можно найти через полгода, а бэкап, если он есть, реально восстанавливается. Короткая заметка рядом с конфигом — как перезапустить и куда смотреть — экономит время позже. Обновления лучше делать, когда можно посмотреть результат. Минимальный рабочий набор обычно лучше, чем сразу все возможные опции. Для маленьких проектов этого достаточно, чтобы система оставалась понятной и не требовала постоянного внимания.
На практике после настройки стоит проверить, что сервис поднимается после перезагрузки, логи доступны одной командой, конфиг можно найти через полгода, а бэкап, если он есть, реально восстанавливается. Короткая заметка рядом с конфигом — как перезапустить и куда смотреть — экономит время позже. Обновления лучше делать, когда можно посмотреть результат. Минимальный рабочий набор обычно лучше, чем сразу все возможные опции. Для маленьких проектов этого достаточно, чтобы система оставалась понятной и не требовала постоянного внимания.
На практике после настройки стоит проверить, что сервис поднимается после перезагрузки, логи доступны одной командой, конфиг можно найти через полгода, а бэкап, если он есть, реально восстанавливается. Короткая заметка рядом с конфигом — как перезапустить и куда смотреть — экономит время позже. Обновления лучше делать, когда можно посмотреть результат. Минимальный рабочий набор обычно лучше, чем сразу все возможные опции. Для маленьких проектов этого достаточно, чтобы система оставалась понятной и не требовала постоянного внимания.
На практике после настройки стоит проверить, что сервис поднимается после перезагрузки, логи доступны одной командой, конфиг можно найти через полгода, а бэкап, если он есть, реально восстанавливается. Короткая заметка рядом с конфигом — как перезапустить и куда смотреть — экономит время позже. Обновления лучше делать, когда можно посмотреть результат. Минимальный рабочий набор обычно лучше, чем сразу все возможные опции. Для маленьких проектов этого достаточно, чтобы система оставалась понятной и не требовала постоянного внимания.
На практике после настройки стоит проверить, что сервис поднимается после перезагрузки, логи доступны одной командой, конфиг можно найти через полгода, а бэкап, если он есть, реально восстанавливается. Короткая заметка рядом с конфигом — как перезапустить и куда смотреть — экономит время позже. Обновления лучше делать, когда можно посмотреть результат. Минимальный рабочий набор обычно лучше, чем сразу все возможные опции. Для маленьких проектов этого достаточно, чтобы система оставалась понятной и не требовала постоянного внимания.
На практике после настройки стоит проверить, что сервис поднимается после перезагрузки, логи доступны одной командой, конфиг можно найти через полгода, а бэкап, если он есть, реально восстанавливается. Короткая заметка рядом с конфигом — как перезапустить и куда смотреть — экономит время позже. Обновления лучше делать, когда можно посмотреть результат. Минимальный рабочий набор обычно лучше, чем сразу все возможные опции. Для маленьких проектов этого достаточно, чтобы система оставалась понятной и не требовала постоянного внимания.
На практике после настройки стоит проверить, что сервис поднимается после перезагрузки, логи доступны одной командой, конфиг можно найти через полгода, а бэкап, если он есть, реально восстанавливается. Короткая заметка рядом с конфигом — как перезапустить и куда смотреть — экономит время позже. Обновления лучше делать, когда можно посмотреть результат. Минимальный рабочий набор обычно лучше, чем сразу все возможные опции. Для маленьких проектов этого достаточно, чтобы система оставалась понятной и не требовала постоянного внимания.
На практике после настройки стоит проверить, что сервис поднимается после перезагрузки, логи доступны одной командой, конфиг можно найти через полгода, а бэкап, если он есть, реально восстанавливается. Короткая заметка рядом с конфигом — как перезапустить и куда смотреть — экономит время позже. Обновления лучше делать, когда можно посмотреть результат. Минимальный рабочий набор обычно лучше, чем сразу все возможные опции. Для маленьких проектов этого достаточно, чтобы система оставалась понятной и не требовала постоянного внимания.