Быстрая настройка web сервера Caddy

Познакомился с любопытным веб сервером - Caddy. Раньше вообще о нем не слышал - https://caddyserver.com.

Углубленный онлайн-курс по MikroTik

Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном онлайн-курcе по администрированию MikroTik. Автор курcа – сертифицированный тренер MikroTik Дмитрий Скоромнов. Более 40 лабораторных работ по которым дается обратная связь. В три раза больше информации, чем в MTCNA.

Установить можно, подключив внешний репозиторий с программой. Репы созданы под все популярные системы, так что установка проходит быстро.

Установка Caddy в Fedora, RHEL, CentOS

Fedora or RHEL/CentOS 8:

dnf install 'dnf-command(copr)'
dnf copr enable @caddy/caddy
dnf install caddy

RHEL/CentOS 7:

yum install yum-plugin-copr
yum copr enable @caddy/caddy
yum install caddy

Установка Caddy в Debian, Ubuntu

sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo apt-key add -
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.list
sudo apt update
sudo apt install caddy

Отличительная черта Caddy в том, что он очень быстро и легко настраивается. Просто покажу несколько примеров и вы сами всё поймёте.

Доступ к файлам с помощью веб сервера

Рисуем такой конфиг и запускаем caddy:

{
auto_https off
}
10.20.1.23:80
root * /var/www
file_server browse

Теперь вы через браузер можете гулять по директории /var/www. Это полный конфиг, больше ничего добавлять не надо. Специально проверил сам. Это я еще отключил https, который по дефолту включен на самоподписанном сертификате. Если не отключать, то буквально три строки останется.

Настройка reverse proxy

Вся настройка - один параметр:

{
auto_https off
}
10.20.1.23:80
reverse_proxy 127.0.0.1:9000

Показ статичной страницы

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

{
auto_https off
}
10.20.1.23:80
respond "Hello, world!"

Настройка https

Если у вас есть доменное имя, внешний ip и настроенные dns записи, то caddy автоматически получит бесплатный сертификат и запустит веб сервер по https. Для этого достаточно его запустить с таким конфигом:

example.com
root * /var/www

Все быстро и просто. На сайте в документации есть готовые типовые примеры. Веб сервер хорошо подойдет для каких-то временных или внутренних ресурсов, когда не хочется тратить время на настройку более функциональных веб серверов. У него до кучи есть api и конфиги в формате json понимает. Есть где развернуться, если нужна автоматизация.

Источник - мой канал: https://t.me/srv_admin/899.

Автор Zerox

Владимир, системный администратор, автор сайта. Люблю настраивать сервера, изучать что-то новое, делиться знаниями, писать интересные и полезные статьи. Открыт к диалогу и сотрудничеству. Если вам интересно узнать обо мне побольше, то можете послушать интервью. Запись на моем канале - https://t.me/srv_admin/425 или на сайте в контактах.

5 комментариев

  1. Можно ли его запустить в Windows 10 в составе командного файла?

    Имею "флешку" с которой перемещаюсь между ПК Windows 10.
    На флешке портабельный Firefox, рядом с ним html файл в качестве стартовой страницы.

    Сейчас этот файл просто прописан в firefox, но хотелось бы местами добавить домашней странице интерактивности.
    Этот файл уже слишком большой, хочу разнести на несколько файлов и сделать навигацию между ними.
    Без сервера вариантов пока не нашел, iframe тоже пока не нравится.
    Выносить страницу на внешний сервер и коннектиться к ней не хочется по ряду причин.
    Запускать Caddy как сервис на используемых ПК тоже не подходит.

    Хотелось бы запускать Caddy перед Firefox для отдачи в этот же браузер упомянутых локальных файлов в качестве домашней страницы.
    Если возможно ткните куда посмотреть.
    Спасибо.

    • Официально версии под Windows нет. Но если посмотреть документацию, то там есть ссылки на сборки от сообщества. И там есть версии под Windows: https://caddyserver.com/docs/install

      Попробуйте. Может что-то и получится.

      • Стандартная версия Caddy под Windows есть и она вроде и портабельна. Поигрался и отложил, как то для меня необычно забористо конфиг задается, впечатление что в linux его проще использовать.

        Нашел такое альтернативное решение https://smallsrv.com/indexr.htm, использую только как HTTP сервер.
        Для моей задачи работает идеально. Местный автор. Бесплатный.
        Настройки под мою задачу практически не требует, основное время потратил на обнюхивание софтины разных версий Касперскими разного уровня злобности. Мало популярна по мнению Касперского, но используется.
        Можно запускать из бат файла.
        Сайт продукта несколько пугает, но софтина живая, обновление от марта 2024г.
        Буду донатить автора)

  2. Аноним

    Спасибо, действительно легко поднялся.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Нажимая кнопку "Отправить комментарий" Я даю согласие на обработку персональных данных.
Используешь Telegram? Подпишись на канал автора →
This is default text for notification bar