С уеб сървъра Caddy получавате HTTPS или нищо. Така че нека видим как можете да инсталирате Caddy на Ubuntu и да го конфигурирате да обслужва вашето уеб приложение. Ще получим нашите TLS сертификати от LetsEncrypt.
Настройвам
Да предположим, че имате VPS с IP адрес: 10.20.30.40 и FQDN поддомейн.пример.com, който е запис, сочи към този IP.
VPS работи с Ubuntu 18.04 LTS сървърно издание и следващите конфигурации се извършват като root потребител.
Стъпка 1: Инсталиране на Caddy Web Server
Caddy е написан в Go и може да работи като самостоятелен изпълним двоичен файл. Съществуват обаче различни приставки, които можете да вградите в него за конкретни DNS сървъри и т.н. Ще инсталираме обикновения двоичен файл без никаква приставка, така че да работи при всички персонализации.
За да получите своя двоичен файл, посетете официалната им страница за изтегляне и изберете всички приставки и телеметрия, от които се нуждаете. Под него ще има команда bash за изтегляне и поставяне на двоичен файл на caddy сървъра на правилното място. Като root потребител стартирайте:
$ curl https: // getcaddy.com | баш-личниСлед като приключим, можем да намерим двоичния файл, като стартираме:
$ whereis caddycaddy: / usr / local / bin / caddy
Ако някога се наложи да премахнете сървъра или да го актуализирате с по-нова изпълнима програма, вече знаете къде да търсите.
Стъпка 2: Тестване на вашия уебсайт
Ако нямате уебсайт, просто създайте празна папка и изпълнете командите там. Може да получите грешка 404 във вашия браузър, но настройката на сървъра все още може да бъде тествана. Ако имате уебсайт, който преминава към директорията, в която се намира webroot на вашия уебсайт. Като типичен пример ще избера / var / www / mysite като пример със следния индекс.html, съхранявани вътре в него.
/ var / www / mysite / index.htmlТази страница се обслужва от Caddy Server
Това е параграф.
Това е достатъчно, за да започнем. Сега в същата директория като този индекс.html страница, изпълнете следния комад:
$ caddyАктивиране на функциите за поверителност ... готово.
http: //: 2015
ПРЕДУПРЕЖДЕНИЕ: Ограничението на дескриптора на файла 1024 е твърде ниско за производствени сървъри. Препоръчва се поне 8192. Коригирайте с 'ulimit -n 8192'.
Оставете Caddy да работи в това състояние.
Можете да отидете на публичния IP адрес на вашия сървър на номер на порт 2015, за да тествате това: http: // 10.20.30.40: 2015 уверете се, че вашата защитна стена не блокира този порт.
И ще видите този индекс.html се обслужва автоматично. Това следва вековната конвенция, че първата страница на всеки уебсайт е наречена индекс, който повечето уеб сървъри като Nginx, Apache и дори Caddy служи като първа страница, дори когато не посочите тази страница с помощта на / index.html в края на URL адреса.
Стъпка 3: Настройване на HTTPS
След като потвърдихте, че вашият уебсайт наистина работи с Caddy и може да бъде обслужван с него, е време да настроите HTTPS. За да направите това, можете да използвате интерфейса на командния ред или да използвате конфигурационен файл, наречен Caddyfile. Първо ще използваме командния ред.
В същата директория като вашия уеб сайт изпълнете следната команда:
$ caddy -host поддомейн.пример.com## За първи път ще ви поиска вашия имейл адрес, за да можете да го получите
известие за подновяване на сертификат от 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 и да кажете на уеб сървъра да използва тази конфигурация за стартиране на вашия сървър.
Това е най-простият пример за същия уебсайт, който бяхме хоствали по-горе:
поддомейн.пример.comroot / var / www / mysite
Основната директива казва на уеб сървъра къде се намира уебсайтът. Не можете да излезете от тази директория от страна на клиента. Обикновено е добра идея да поставите вашия caddy файл навсякъде, но не в този уеб root. Можете да го поставите в / etc / папка или вашата домашна директория. Например, ако файлът е създаден в / etc / Caddyfile, можете да кажете на сървъра да използва тази конфигурация, като изпълните командата:
$ caddy -conf / etc / CaddyfileИма множество директиви, които можете да използвате за фина настройка на вашия сървър. Можете да активирате регистриране, компресиране, обратен прокси и т.н. Официалната документация е добро място да започнете да търсите директиви, свързани с вашия случай на употреба. Ето още един пример, при който се обслужват два уебсайта с две различни имена на домейни:
поддомейн.пример.comroot / var / www / mysite
поддомейн2.пример.com
root / var / www / mysite2
gzip
log ... / достъп.дневник
Директивата gzip позволява компресиране, ако клиентът го поддържа. Това подобрява производителността, тъй като повече данни могат да бъдат изпратени през честотната лента и същия интервал от време. Регистрацията помага за отстраняване на грешки и проследяване на мрежовата активност.
Заключение
Най-голямата сила на уеб сървъра на Caddy е неговата лесна за писане и четене конфигурационен файл и неговата гъвкавост в множество платформи. Поради странното си лицензиране обаче сървърът не е строго отворен код. Изходният код е с отворен код и можете напълно да го компилирате сами и да използвате резултантния изпълним файл, но двоичният файл, който получавате от официалния сайт, не е предназначен да се използва за търговски цели без подходящ лиценз.
Това ни връща към въпроса за усложненията, където вместо да се занимаваме само с конфигурационни файлове, трябва да се справим и със компилацията на изходния код, побеждавайки целта на лесен за използване уеб сървър. Уведомете ни, ако имате някакви мисли за Caddy и дали някой от вашите уебсайтове работи над него.