Познакомился с любопытным веб сервером - Caddy. Раньше вообще о нем не слышал - https://caddyserver.com.
Установить можно, подключив внешний репозиторий с программой. Репы созданы под все популярные системы, так что установка проходит быстро.
Установка 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.
Спасибо, действительно легко поднялся.