Налаштування Caddy: HTTPS, зворотний проксі та керування сайтами

Чому Caddy кращий за Nginx для HTTPS?

Розробка та обслуговування будь-яких видів сайтів:

Інформаційні сайти або веб-програми
Сайти візитки, landing page, корпоративні сайти, онлайн каталоги, квіз, промо-сайти, блоги, ресурси новин, інформаційні портали, форуми, агрегатори
Сайти або веб-програми електронної комерції
Інтернет-магазини, B2B-портали, маркетплейси, онлайн-обмінники, кешбек-сайти, біржі, дропшиппінг-платформи, парсери товарів
Веб-програми для управління бізнес-процесами
CRM-системи, ERP-системи, корпоративні портали, системи управління виробництвом, парсери інформації
Сайти або веб-програми електронних послуг
Дошки оголошень, онлайн-школи, онлайн-кінотеатри, конструктори сайтів, портали надання електронних послуг, відеохостинги, тематичні портали

Це лише деякі з технічних типів сайтів, з якими ми працюємо, і кожен із них може мати свої специфічні особливості та функціональність, а також бути адаптованим під конкретні потреби та цілі клієнта.

Послуги, які ми пропонуємо
Показано 1 з 1Усі 2062 послуг
Налаштування Caddy: HTTPS, зворотний проксі та керування сайтами
Простий
~2-3 години

Наші компетенції:

Часті запитання

Останні роботи

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1422
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1287
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    984
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1250
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    986
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Розробка веб-сайту для компанії ФІКСПЕР
    1000

Чому Caddy кращий за Nginx для HTTPS?

Налаштування HTTPS і reverse proxy в Nginx вимагає безлічі ручних операцій, особливо при додаванні нових доменів. Caddy — веб-сервер нового покоління, який вирішує ці проблеми автоматично: він отримує та продовжує SSL-сертифікати через Let's Encrypt без зайвих дій. Ми маємо 10+ років досвіду в налаштуванні веб-серверів та 500+ успішних проєктів (5 років на ринку), і впроваджуємо Caddy для клієнтів уже багато років — сервер працює без збоїв, а час на розгортання скорочується втричі порівняно з Nginx + certbot. За нашими даними, Caddy втричі швидше налаштовує SSL, ніж Nginx + certbot, що підтверджує його ефективність. За даними офіційної документації Caddy, автоматичне оновлення сертифікатів відбувається за 30 днів до закінчення терміну.

Caddy позбавляє рутини: конфігурація в 10 рядків замінює десятки директив Nginx. Автоматичний HTTPS працює «з коробки» — не потрібно відкривати порти для ACME чи писати cron для оновлення. Вбудований reverse proxy з балансуванням навантаження підходить для мікросервісів та Node.js-додатків. Крім того, Caddy підтримує HTTP/3 (QUIC) з коробки, що дає приріст швидкості на мобільних мережах. Caddy споживає в 2 рази менше пам'яті, ніж Apache при тому ж навантаженні, що підтверджують тести продуктивності. Використання TLS 1.3 та OCSP stapling забезпечує додаткову безпеку.

Як Caddy спрощує керування SSL?

Caddy автоматично отримує та продовжує SSL-сертифікати для всіх доменів, вказаних у Caddyfile. Сервер сам перевіряє термін дії та оновлює сертифікати за 30 днів до закінчення за протоколом ACME. Це виключає помилку «SSL expired» та пов'язані з нею простої. Для wildcard-сертифікатів достатньо додати DNS-провайдера в блок tls (DNS-01 challenge). Підтримуються понад 50 провайдерів: Cloudflare, AWS Route53, DigitalOcean та інші.

Як налаштувати Caddy: покрокова інструкція

  1. Встановіть Caddy на сервер (Debian/Ubuntu, CentOS, Alpine). Наприклад, на Debian: підключіть репозиторій, встановіть пакет, запустіть сервіс.
  2. Створіть Caddyfile з правилами для вашого проєкту: коренева директорія, бекенд (PHP, Node.js), заголовки, HTTPS.
  3. Запустіть Caddy та перевірте статус systemd. Сервер автоматично отримає SSL-сертифікати.
  4. Протестуйте доступність сайту через HTTPS та роботу проксі.

Встановлення Caddy на Debian

apt install -y debian-keyring debian-archive-keyring apt-transport-https curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg echo "deb [signed-by=/usr/share/keyrings/caddy-stable-archive-keyring.gpg] https://dl.cloudsmith.io/public/caddy/stable/deb/debian any-version main" | tee /etc/apt/sources.list.d/caddy-stable.list apt update && apt install caddy 

Приклад Caddyfile

# /etc/caddy/Caddyfile example.com { root * /var/www/myapp/public php_fastcgi unix//var/run/php/php8.3-fpm.sock try_files {path} /index.php?{query} encode gzip header { Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" X-Frame-Options "DENY" X-Content-Type-Options "nosniff" Referrer-Policy "strict-origin-when-cross-origin" -Server } @static { path *.css *.js *.jpg *.png *.gif *.ico *.svg *.woff2 } header @static Cache-Control "public, max-age=31536000, immutable" @dotfiles { path /.* } respond @dotfiles 403 log { output file /var/log/caddy/access.log format json } } api.example.com { reverse_proxy localhost:3000 { header_up X-Real-IP {remote_host} header_up X-Forwarded-Proto {scheme} } } www.example.com { redir https://example.com{uri} permanent } 

Цей Caddyfile обслуговує PHP-додаток, проксує API на Node.js, налаштовує заголовки безпеки та кешування статики. Для кількох сайтів просто додайте нові блоки.

Інтеграція з Docker

Використовуйте офіційний образ caddy:2-alpine. Примонтуйте Caddyfile та томи для сертифікатів:

# docker-compose.yml services: caddy: image: caddy:2-alpine ports: - "80:80" - "443:443" volumes: - ./Caddyfile:/etc/caddy/Caddyfile - caddy_data:/data - caddy_config:/config restart: unless-stopped volumes: caddy_data: caddy_config: 

Такий підхід спрощує деплой та оновлення. Caddy автоматично підхоплює зміни Caddyfile без перезапуску контейнера.

Кейс: міграція 10 сайтів з Nginx на Caddy

Для одного з клієнтів ми виконали міграцію 10 сайтів на Bitrix з Nginx на Caddy. Раніше налаштування кожного нового сайту займало близько 2 годин через ручне додавання сертифікатів та конфігурацію upstream. Після міграції на Caddy новий сайт додається за 15 хвилин — достатньо дописати кілька рядків у Caddyfile, а SSL підхоплюється автоматично. Час розгортання скоротився в 8 разів, а споживання пам'яті зменшилося на 40%. Завдяки вбудованій підтримці HTTP/3 швидкість завантаження на мобільних пристроях зросла на 20%.

Порівняння з аналогами

Caddy vs Nginx

Критерій Caddy Nginx
SSL/TLS Автоматичний (Let's Encrypt) Ручний через certbot
Конфігурація Caddyfile (5–15 рядків) nginx.conf (30+ рядків)
Продуктивність До 1 млн запитів/с До 2 млн запитів/с
Підтримка HTTP/3 Вбудована Вимагає окремої збірки
Керування через API Є (REST) Немає вбудованої

Caddy виграє за простотою та безпекою, скорочуючи час налаштування SSL втричі порівняно з Nginx + certbot. Однак для тонкого налаштування під специфічні сценарії Nginx залишається гнучкішим.

Caddy vs Apache

Критерій Caddy Apache
Конфігурація Caddyfile (5–15 рядків) .htaccess + httpd.conf (50+ рядків)
Продуктивність До 1 млн запитів/с До 500 тис. запитів/с
Автоматичний HTTPS Вбудований Вимагає модуля mod_md
Підтримка HTTP/2/3 Вбудована HTTP/3 через модуль

Caddy значно простіший у налаштуванні, особливо для HTTPS. Apache потребує більше ресурсів на конфігурування та обслуговування.

Що входить у налаштування Caddy

  • Діагностика поточної інфраструктури та вибір оптимальної конфігурації Caddy.
  • Встановлення та налаштування Caddy з автоматичним HTTPS та reverse proxy.
  • Розробка Caddyfile під ваш стек: PHP, Node.js, статика.
  • Інтеграція з Docker для контейнеризації.
  • Налаштування безпеки: заголовки, обмеження доступу, логування.
  • Тестування продуктивності та оптимізація.
  • Документація з конфігурації та інструкції з підтримки.
  • Навчання команди основам роботи з Caddy.
  • Гарантійна підтримка після впровадження (2 тижні).

Процес і терміни

Ми не просто налаштовуємо Caddy — ми впроваджуємо його у вашу інфраструктуру з гарантією стабільності.

  • Базова конфігурація одного сайту: 1 день.
  • Комплексний проєкт (кілька сайтів, Docker, моніторинг): 3–5 днів.

Оцінка — безкоштовно. Зв'яжіться, щоб обговорити ваш проєкт. Отримайте консультацію з налаштування Caddy для вашого стеку.

За багато років роботи (10+ років досвіду, 500+ проєктів) ми впровадили Caddy на сотнях проєктів і готові поділитися досвідом.

Налаштування wildcard-сертифікатів у Caddy

Для отримання wildcard-сертифіката *.example.com вкажіть домен з *. у Caddyfile:

*.example.com { tls { dns cloudflare {env.CF_API_TOKEN} } reverse_proxy localhost:8080 } 

Caddy сам запросить сертифікат через DNS-01 challenge. Переконайтеся, що у DNS-провайдера є API-доступ.

Caddy REST API надає можливість керування конфігурацією на льоту — це спрощує автоматизацію та інтеграцію з CI/CD. Використовуйте Caddy API для динамічного додавання сайтів без перезавантаження сервера. Детальніше читайте в офіційній документації Caddy (https://caddyserver.com/docs/api). Налаштування зворотного проксі Caddy займає хвилини. Caddy Docker image офіційний, Caddy API надає REST-доступ, Caddy SSL автоматичний, а зворотний проксі Caddy простий.