Caddy — это современный и простой в использовании веб-сервер для Linux. Он работает за счет оптимизации процесса создания файлов конфигурации сайта и сертификатов SSL. Эта статья проведет вас через процесс установки Caddy на сервер Ubuntu Linux. Кроме того, он также покажет вам, как использовать Caddy для развертывания простой веб-страницы, а также обратного прокси-сервера SSL.
Зачем использовать Caddy в качестве веб-сервера?
Хотя Нгинкс и Апач являются мощными демонами ве
Contents
Зачем использовать Caddy в качестве веб-сервера?
нового пользователя. Caddy упрощает эту задачу, предоставляя «Caddyfile» — единый плоский файл с простым синтаксисом, который легко изучить даже новичкам.Еще одним преимуществом Caddy является то, что он обеспечивает HTTPS для вашего веб-сервера прямо из коробки. Это делает его удобным для пользователей, которые считают настройка SSL для своего сайта сложным и сложным. Таким образом, Caddy идеально подходит, если вы ищете простой веб-сервер в Linux, который прост в обслуживании и использовании.
Полезно знать: узнайте, как можно исправить ошибку «404 Not Found» в Nginx .
Установка Caddy
Первый шаг при установке Caddy в Ubuntu Linux — убедиться, что у вас есть инструменты для импорта ключей и информации из репозитория:
sudo apt install curl debian-keyring debian-archive-keyring
Получите ключ подписи репозитория для Caddy с сайта разработчика:
curl -fsSL 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
Загрузите и сохраните файл репозитория проекта Caddy в каталоге «sources.list.d» вашего компьютера:
curl -fsSL 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy.list
Обновите репозитории apt вашей системы, выполнив следующую команду:
sudУстановка Caddy
e && sudo apt upgrade
Установите пакет Caddy для вашей системы, используя apt install
:
sudo apt install caddy
Запуск вашего первого веб-сайта Caddy
Чтобы запустить свой первый веб-сайт, создайте корневую папку вашего сайта в домашнем каталоге:
mkdir ~/my-first-website && cd ~/my-first-website
Создайте файл index.html с помощью вашего любимого текстового редактора:
nano ./index.html
Вставьте следующий блок кода в новый HTML-файл:
<!DOCTYPE html> <html> <head> <title> Hello World! </title> </head> <body> <h1> Hello World! </h1> <p> Hello MakeTechEasier! </p> </body> </html>
Сохраните файл index.html, затем выполните следующую команду:
caddy file-server --listen :8080
Убедитесь, что ваш веб-сервер работает правильно, перейдя н
Запуск вашего первого веб-сайта Caddy
ing="async" src="https://saintist.ru/wp-content/uploads/2024/05/create-caddy-webserver-linux-02-sample-localhost-webserver.png" alt="Снимок экрана, показывающий пример веб-сайта, работающего на локальном хосте: 8080.">Создание веб-сайта с использованием Caddyfiles
Хотя инструмент CLI отлично подходит для обслуживания простых веб-страниц, Caddy также предоставляет простой в использовании «Caddyfile» для более сложных настроек. Для начала создайте новый Caddyfile в папке «/etc/caddy» с помощью вашего любимого текстового редактора:
sudo rm /etc/caddy/Caddyfile && sudo nano /etc/caddy/Caddyfile
Вставьте следующий блок кода в новый Caddyfile:
your-domain.com { redir https://www.{host}{uri} } www.your-domain.com { root * /var/www/html file_server }
Примечание. Вы также можете разместить веб-сайт только для локальной сети с помощью Caddyfiles, заменив «ваш-домен.com» на «локальный хост».
Скопируйте файл index.html из домашнего каталога в каталог «/var/www» вашей системы:
sudo mkdir /var/www/html/ sudo cp ~/my-first-website/index.html /var/www/html
Обратитесь к своему регистратору DNS и убедитесь, что ваш корневой субдомен и субдомен www имеют запись A или AAAA, указывающую на адреса IPv4 и IPv6 вашего компьютера.
Включите встроенную службу Caddy на вашем компьютере:
sudo systemctl enable --now caddy
Проверьте, правильно ли работает ваш веб-сайт, перейдя по доменному имени.
Создание обратного SSL-прокси с помощью Caddy
Как и Nginx и Apache, вы также можете использовать Caddy в качестве обратный прокси для внутренней службы на вашем компьютере. Для этого откройте Caddyfile вашей системы:
sudo nano /etc/caddy/Caddyfile
Вставьте следующий блок кода в ваш Caddyfile:
your-domain.com { reverse_proxy 127.0.0.1:LOCAL-PORT }
Замените «LOCAL-PORT» на порт вашего веб-приложения. В моем случае я заменю свой на 3001, чтобы перенаправить весь входящий трафик на мой Время работы сервера Kuma .
Сохраните файл Caddy, затем перезагрузите службу Caddy, чтобы применить новые настройки:
sudo systemctl reload caddy
Проверьте, правильно ли работает обратный прокси-сервер, перейдя в свой домен с помощью веб-браузера.
Полезно знать: узнайте больше о веб-шифровании до создание собственного сертификата SSL с использованием OpenSSL .
Развертывание нескольких веб-сайтов и сервисов с помощью Caddy
Вы также можете использовать один и тот же Caddyfile для обслуживания веб-сайтов и прокси-серверов на одном хосте. Это позволяет легко управлять несколькими различными службами, не загромождая каталог конфигурации вашего веб-сервера.
Для начала перейдите на страницу Страница загрузки Caddy и введите «caddy-dns» в строке поиска.
Выберите своего DNS-провайдера, затем нажмите «Загрузить» в правом верхнем углу страницы. Будет загружен пользовательский двоичный файл Caddy с соответствующим модулем для вашего провайдера DNS.
Остановите службу Caddy с помощью systemctl:
sudo systemctl disable --now caddy.service
Создайте резервную копию исходного двоичного файла Caddy, затем скопируйте пользовательский двоичный файл в каталог «/usr/bin/».
cp /usr/bin/caddy ~/caddy.bin.bak sudo rm /usr/bin/caddy sudo cp ~/Downloads/caddy_linux_amd64_custom /usr/bin/caddy sudo chmod +x /usr/bin/caddy
Проверьте, правильно ли работает ваш пользовательский двоичный файл Caddy, проверив его версию:
caddy --version
Включение Caddy SSL для доменов с подстановочными знаками
Откройте Caddyfile вашей системы с помощью любимого текстового редактора:
sudo nano /etc/caddy/Caddyfile
Вставьте следующий блок кода в ваш Caddyfile:
*.your-domain.com { tls { dns digitalocean API-KEY # Replace the value of digitalocean with your DNS provider. } @www host www.your-domain.com handle @www { root * /var/www/html file_server } @subdomain host subdomain.your-domain.com handle @uptime { reverse_proxy 127.0.0.1:LOCAL-PORT } handle { abort } }
Получите ключ API у своего DNS-провайдера. В DigitalOcean это можно получить,
Развертывание нескольких веб-сайтов и сервисов с помощью Caddy
панели страницы.Нажмите «Создать новый токен», а затем укажите сведения о своем ключе API.
Скопируйте секретный код API, а затем вставьте его в переменную «API-KEY» в вашем Caddyfile.
Настройте Caddyfile для своих конкретных настроек, а затем сохраните его.
Убедитесь, что ваше доменное имя имеет соответствующие записи A и AAAA для вашего домена и субдомена.
Перезапустите отключенный демон Caddy, чтобы применить новые настройки:
sudo systemctl enable --now caddy
Проверьте, правильно ли работает ваша «мультисервисная» настройка, открыв оба домена в веб-браузере.
Изучение того, как развертывать простые и безопасные веб-сервисы с помощью Caddy, — это лишь первый шаг в изучении чудесного мира самостоятельного хостинга в Linux. Погрузитесь глубже в эту вселенную к создание собственного сервера псевдонимов электронной почты с помощью SimpleLogin .
Изображение предоставлено: Джонатан Ибема через Unsplash и Викисклад . Все изменения и скриншоты Рамсеса Реда.