
caddy v2.11.7
Быстрый и расширяемый многоплатформенный веб-сервер HTTP/1-2-3 с автоматическим HTTPS
проект 
Каждый сайт на HTTPS
Caddy — это расширяемая серверная платформа, использующая TLS по умолчанию.
Релизы · Документация · Получить помощь
Меню
- Возможности
- Установка
- Сборка из исходного кода
- Быстрый старт
- Обзор
- Полная документация
- Получение помощи
- О проекте
Возможности
- Простая конфигурация с помощью Caddyfile
- Мощная конфигурация с помощью нативного JSON-конфига
- Динамическая конфигурация с помощью JSON API
- Адаптеры конфигурации, если вам не нравится JSON
- Автоматический HTTPS по умолчанию
- ZeroSSL и Let's Encrypt для публичных имён
- Полностью управляемый локальный CA для внутренних имён и IP-адресов
- Может координироваться с другими экземплярами Caddy в кластере
- Резервирование с несколькими издателями
- Поддержка Encrypted ClientHello (ECH)
- Остаётся в работе, когда другие серверы падают из-за проблем, связанных с TLS/OCSP/сертификатами
- Готов к продакшену после обслуживания триллионов запросов и управления миллионами TLS-сертификатов
- Масштабируется до сотен тысяч сайтов, что подтверждено в продакшене
- HTTP/1.1, HTTP/2 и HTTP/3 — все поддерживаются по умолчанию
- Высокая расширяемость благодаря модульной архитектуре позволяет Caddy делать что угодно без раздувания
- Работает где угодно без внешних зависимостей (даже без libc)
- Написан на Go — языке с более высокими гарантиями безопасности памяти, чем у других серверов
- Действительно приятен в использовании
- Гораздо больше можно узнать
Установка
Самый простой кроссплатформенный способ начать — скачать Caddy со страницы GitHub Releases и поместить исполняемый файл в ваш PATH.
Другие инструкции по установке см. в нашей онлайн-документации.
Сборка из исходного кода
Требования:
Для разработки
Примечание: Эти шаги не встраивают корректную информацию о версии. Для этого следуйте инструкциям в следующем разделе.
$ git clone "https://github.com/caddyserver/caddy.git"
$ cd caddy/cmd/caddy/
$ go build
При запуске Caddy может попытаться привязаться к низким портам, если иное не указано в вашей конфигурации. Если ваша ОС требует повышенных привилегий для этого, вам нужно будет дать вашему новому бинарному файлу соответствующее разрешение. В Linux это можно легко сделать так: sudo setcap cap_net_bind_service=+ep ./caddy
Если вы предпочитаете использовать go run, который создаёт только временные бинарные файлы, вы всё равно можете сделать это с помощью включённого setcap.sh следующим образом:
$ go run -exec ./setcap.sh main.go
Если вы не хотите вводить пароль для setcap, используйте sudo visudo, чтобы отредактировать ваш файл sudoers и разрешить вашей учётной записи запускать эту команду без пароля, например:
username ALL=(ALL:ALL) NOPASSWD: /usr/sbin/setcap
заменив username на ваше фактическое имя пользователя. Пожалуйста, будьте осторожны и делайте это только если вы знаете, что делаете! Мы квалифицированы только для документирования использования Caddy, а не инструментов Go или вашего компьютера, и мы предоставляем эти инструкции только для удобства; пожалуйста, учитесь использовать свой компьютер на свой страх и риск и вносите любые необходимые изменения.
Затем вы можете запустить тесты во всех модулях или в конкретном:
$ go test ./...
$ go test ./modules/caddyhttp/tracing/
С информацией о версии и/или плагинами
Используя наш инструмент сборки xcaddy...
$ xcaddy build
...следующие шаги выполняются автоматически: