Кэдди

Установка Caddy Server в Ubuntu

Установка Caddy Server в Ubuntu
TLS важен для всех веб-сайтов и веб-приложений. Если есть приложение, которое использует HTTP или электронную почту, ему нужен TLS. TLS обеспечивает конфиденциальность, целостность и подлинность вашего контента. С бесплатными центрами сертификации TLS, такими как Let's Encrypt и CloudFlare, TLS становится скорее нормой, чем особым случаем.Однако включение TLS часто является чрезвычайно сложным процессом. Это также имеет серьезные последствия для безопасности, если конфигурации будут неправильно обработаны, или, не дай бог, вы случайно потеряете свой закрытый ключ TLS. Чтобы снизить некоторые из этих рисков, а также значительно облегчить нашу жизнь, в городе появился новый веб-сервер. Caddy говорит по протоколу HTTP / 2 и поставляется с включенным TLS из коробки. Это означает, что вам не нужно вручную настраивать перенаправления HTTP на HTTPS или беспокоиться о наборах шифров Gallizion, которые вы никогда раньше не видели.

С веб-сервером Caddy вы получаете HTTPS или ничего. Итак, давайте посмотрим, как вы можете установить Caddy в Ubuntu и настроить его для обслуживания вашего веб-приложения. Мы будем получать сертификаты TLS от LetsEncrypt.

Настраивать

Предположим, у вас есть VPS с IP-адресом: 10.20.30.40 и поддомен FQDN.пример.com, чья запись A указывает на этот IP-адрес.
VPS работает под управлением Ubuntu 18.04 Версия сервера LTS и следующие настройки выполняются от имени пользователя root.

Шаг 1. Установка Caddy Web Server

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

Чтобы получить свой двоичный файл, посетите их официальную страницу загрузок и выберите все плагины и телеметрию, которые вам требуются. Ниже будет команда bash для загрузки и размещения двоичного файла caddy server в нужном месте. От имени пользователя root запустите:

$ curl https: // getcaddy.com | bash -s личное

Как только это будет сделано, мы сможем найти двоичный файл, запустив:

$ whereis caddy
Кэдди: / usr / local / bin / caddy

Если вам когда-нибудь понадобится удалить сервер или обновить его с помощью более нового исполняемого файла, теперь вы знаете, где искать.

Шаг 2. Тестирование вашего веб-сайта

Если у вас нет веб-сайта, просто создайте пустую папку и выполните команды в ней. Вы можете получить ошибку 404 в своем браузере, но настройку сервера все еще можно проверить. Если у вас есть веб-сайт, перейдите в каталог, в котором находится корневой веб-сайт вашего веб-сайта по адресу. В качестве типичного примера я выберу / var / www / mysite в качестве примера со следующим индексом.html хранится внутри него.

/ var / www / mysite / index.html



Эта страница обслуживается Caddy Server


Эта страница обслуживается Caddy Server


Это абзац.



Этого достаточно, чтобы мы начали. Теперь в том же каталоге, что и этот индекс.html, запустите следующую команду:

$ caddy
Активация функций конфиденциальности… готово.
http: //: 2015

ВНИМАНИЕ: ограничение 1024 дескриптора файла слишком мало для производственных серверов. Рекомендуется не менее 8192. Исправить с помощью ulimit -n 8192.

Оставьте Caddy в этом состоянии.

Вы можете перейти на общедоступный IP-адрес своего сервера по номеру порта 2015, чтобы проверить это: http: // 10.20.30.40: 2015 убедитесь, что ваш брандмауэр не блокирует этот порт.

И вы увидите этот индекс.html обслуживается автоматически. Это соответствует вековому соглашению о том, что первая страница любого веб-сайта называется index, который большинство веб-серверов, таких как Nginx, Apache и даже Caddy, служат первой страницей, даже если вы не указываете эту страницу с помощью / index.html в конце URL.

Шаг 3. Настройка HTTPS

Теперь, когда вы подтвердили, что ваш веб-сайт действительно работает с Caddy и его можно обслуживать, пришло время настроить HTTPS. Для этого вы можете использовать интерфейс командной строки или использовать файл конфигурации с именем Caddyfile. Сначала мы будем использовать командную строку.

В том же каталоге, что и ваш сайт, выполните следующую команду:

$ caddy -host поддомен.пример.ком
## Впервые он попросит вас указать адрес электронной почты, чтобы вы могли получить
уведомление об обновлении сертификата от LetsEncrypt

Выход:

Активация функций конфиденциальности…
Ваши сайты будут автоматически обслуживаться по HTTPS с помощью Let's Encrypt.
Продолжая, вы соглашаетесь с Соглашением подписчика Let's Encrypt по адресу:
https: // letsencrypt.org / documents / LE-SA-v1.2-ноября-15-2017.pdf
Пожалуйста, введите свой адрес электронной почты, чтобы подписать соглашение и получать уведомление
в случае проблем. Вы можете оставить поле пустым, но мы не рекомендуем это делать.
Адрес электронной почты: [электронная почта защищена]

это оно! Ваш веб-сайт теперь запущен и работает. Вы можете посетить поддомен.пример.com и он будет автоматически перенаправлен на HTTPS без каких-либо настраиваемых номеров портов и других нюансов.

Это так просто! Вы можете CTRL + C, чтобы остановить сервер, в следующий раз он просто повторно использует этот сертификат.

Шаг 4: написание файла Caddyfile

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

Это простейший пример для того же веб-сайта, который мы разместили выше:

субдомен.пример.com
корень / вар / www / mysite

Директива root сообщает веб-серверу, где расположен веб-сайт. Вы не можете выйти из этого каталога со стороны клиента. Как правило, рекомендуется размещать файл caddy где угодно, но не внутри этого корневого веб-каталога. Вы можете поместить его в папку / etc / или в свой домашний каталог. Например, если файл создается в / etc / Caddyfile, вы можете указать серверу использовать эту конфигурацию, выполнив команду:

$ caddy -conf / etc / Caddyfile

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

субдомен.пример.com
корень / вар / www / mysite

subdomain2.пример.com
корень / вар / www / mysite2
gzip
журнал… / доступ.бревно

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

Заключение

Самая большая сила веб-сервера Caddy - это простота записи и чтения файла конфигурации и его гибкость на различных платформах. Однако из-за странного лицензирования сервер не является строго открытым исходным кодом. Исходный код является открытым, и вы можете полностью скомпилировать его и использовать полученный исполняемый файл, но двоичный файл, который вы получаете с официального сайта, не предназначен для использования в коммерческих целях без надлежащей лицензии.

Это возвращает нас к проблеме осложнений, когда вместо того, чтобы иметь дело только с файлами конфигурации, нам также приходится иметь дело с компиляцией исходного кода, побеждая цель простого в использовании веб-сервера. Сообщите нам, есть ли у вас какие-либо мысли о Caddy и работает ли какой-либо из ваших веб-сайтов на нем.

Как показать счетчик FPS в играх для Linux
Игры для Linux получили серьезный толчок, когда Valve объявила о поддержке Linux для клиента Steam и своих игр в 2012 году. С тех пор многие игры AAA ...
Как загрузить и играть в Sid Meier's Civilization VI в Linux
Введение в игру Civilization 6 - это современный подход к классической концепции, представленной в серии игр Age of Empires. Идея была довольно просто...
Как установить Doom и играть в него в Linux
Введение в Doom Серия Doom возникла в 90-х годах после выхода оригинальной Doom. Это мгновенно стал хитом, и с тех пор серия игр получила множество на...