TGViewer
ServerAdmin.ru ServerAdmin.ru @srv_admin · 32.6K subscribers
Post #4125 11.3K
Уже довольно давно существует веб сервер Caddy. Он особо не на слуху в плане использования в качестве одиночного веб сервера. Но лично я его часто вижу в составе каких-то программных комплексов, собранных из различных open source проектов.

В простых случаях Caddy может очень серьёзно упростить задачу по веб доступу к чему-либо или проксированию запросов на внутренний веб ресурс. Покажу сразу на примерах, чтобы вы оценили, взяли на вооружение и использовали по мере необходимости.

Устанавливаем Caddy на сервер с Debian:

# apt install debian-keyring debian-archive-keyring apt-transport-https curl
# curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
# curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | tee /etc/apt/sources.list.d/caddy-stable.list
apt update && apt install caddy

Это если вы хотите, чтобы у вас всё было как обычно - обновление из репозитория, конфигурационный файл, systemd служба и т.д. Сам по себе Caddy - это одиночный бинарный файл. Его можно просто скачать и установить на любой Linux сервер:

# curl -sS https://webi.sh/caddy | sh

Windows, он, кстати, тоже поддерживает. Это может быть хорошим решением для проксирования веб публикации баз 1С в Windows с помощью Apache. Принимаем все запросы в Caddy, передаём в Apache.

По умолчанию Caddy работает сразу по протоколу HTTPS. Если для доменного имени настроена DNS запись, то он автоматом при запуске получает сертификат от let's encrypt и использует. Достаточно нарисовать вот такой простой конфиг /etc/caddy/Caddyfile:

example.com {
  root * /var/www
  file_server
}

# systemctl restart caddy

После перезапуска Caddy автоматически получит сертификаты для домена example.com и запустит статический сайт на HTTPS.

Пример конфигурации для проксирования:

example.com {
reverse_proxy 10.20.1.50:5000
}

Тут всё то же самое. Caddy автоматом получит сертификат, запустится с использованием HTTPS и будет работать в качестве reverse proxy для указанного адреса.

Всё то же самое можно запустить сразу в консоли, если вам это нужно для каких-то разовых задач:

# caddy file-server --domain example.com --root /var/www
# caddy reverse-proxy --from example.com --to 10.20.1.50:5000

В консольном режиме Caddy удобно использовать даже для разового получения сертификатов. Запустил по примеру выше и получил на выходе сертификаты в директории ~/.local/share/caddy/certificates/. Если используется служба, то она по умолчанию хранит сертификаты в /var/lib/caddy/.local/share/caddy/certificates/.

Пример для php сайта, типа Worpdress:

example.com {
  root * /var/www
  file_server {
    index index.php
  }
  php_fastcgi unix//run/php/php8.2-fpm.sock
}

Простой и функциональный веб сервер. У него нормальная документация, где все возможности описаны. Я показал примеры для консольного режима и обычного конфигурационного файла. Дополнительно он поддерживает конфигурацию в формате JSON, которую помимо текстового файла, можно передавать напрямую через API. В документации есть примеры.

Если вы не хотите или вам не нужно разбираться в конфигурация Nginx или Apache, а надо, чтобы просто работало, то Caddy - отличный вариант типового веб сервера для общих прикладных задач. При этом он обладает дополнительными возможностями, актуальными для современной эксплуатации:

◽️логи в формате json;
◽️экспорт метрик в формате prometheus;
◽️обновление и перезагрузка конфигурации на лету через API;
◽️снятие профилей для профилировщика pprof.

Он в настройках по умолчанию простой, но при желании можно много всего добавить.

⇨ 🌐 Сайт / Исходники (58.5k⭐️ 😱)

❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.

#webserver
  • 👍 166
  • 👎 5
More from @srv_admin
  1. Oct 12, 2026Вот мы и вступили в новую реальность, когда стали пропадать датацентры целиком, что повлек…
  2. Oct 12, 2026💻Практический вебинар «СТРАТЕГИЯ РЕЗЕРВНОГО КОПИРОВАНИЯ» 📹 15 октября в 11:00 Мск за 90…
  3. Oct 10, 2026Когда я работал в одной небедной компании, там регулярно обновляли парк оборудования, а ст…
  4. Oct 9, 2026▶️ Очередная подборка авторских IT роликов, которые я лично посмотрел и посчитал интересны…
  5. Oct 9, 2026Астра Мониторинг впустил ИИ-агентов в системы мониторинга заказчика И приглашает вас увиде…
  6. Oct 9, 2026В пятницу расскажу про один сервис, который не имеет отношения к теме канала, но который м…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →