Кади

Инсталиране на Caddy Server на Ubuntu

Инсталиране на Caddy Server на Ubuntu
TLS е важен за всички уебсайтове и уеб приложения там. Ако има приложение, което използва HTTP или използва имейл, то се нуждае от TLS. TLS гарантира поверителност, целостта и автентичността на вашето съдържание. С безплатните TLS сертифициращи органи като Let's Encrypt и CloudFlare, TLS се превръща по-скоро в норма, отколкото в специален случай.Включването на TLS обаче често е изключително сложен процес. Той също така има огромни последици за сигурността, ако конфигурациите са неправилно обработени или не дай боже, случайно изтече вашият частен TLS ключ. За да смекчим някои от тези рискове и да улесним живота си много, има нов уеб сървър в града. Caddy говори HTTP / 2 и идва с включен TLS от кутията. Това означава, че не е нужно да настройвате ръчно HTTP към HTTPS пренасочвания или да се притеснявате за гализионни шифрови пакети, които никога не сте виждали.

С уеб сървъра 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 caddy
caddy: / ​​usr / local / bin / caddy

Ако някога се наложи да премахнете сървъра или да го актуализирате с по-нова изпълнима програма, вече знаете къде да търсите.

Стъпка 2: Тестване на вашия уебсайт

Ако нямате уебсайт, просто създайте празна папка и изпълнете командите там. Може да получите грешка 404 във вашия браузър, но настройката на сървъра все още може да бъде тествана. Ако имате уебсайт, който преминава към директорията, в която се намира webroot на вашия уебсайт. Като типичен пример ще избера / 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 се обслужва автоматично. Това следва вековната конвенция, че първата страница на всеки уебсайт е наречена индекс, който повечето уеб сървъри като 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 и да кажете на уеб сървъра да използва тази конфигурация за стартиране на вашия сървър.

Това е най-простият пример за същия уебсайт, който бяхме хоствали по-горе:

поддомейн.пример.com
root / var / www / mysite

Основната директива казва на уеб сървъра къде се намира уебсайтът. Не можете да излезете от тази директория от страна на клиента. Обикновено е добра идея да поставите вашия caddy файл навсякъде, но не в този уеб root. Можете да го поставите в / etc / папка или вашата домашна директория. Например, ако файлът е създаден в / etc / Caddyfile, можете да кажете на сървъра да използва тази конфигурация, като изпълните командата:

$ caddy -conf / etc / Caddyfile

Има множество директиви, които можете да използвате за фина настройка на вашия сървър. Можете да активирате регистриране, компресиране, обратен прокси и т.н. Официалната документация е добро място да започнете да търсите директиви, свързани с вашия случай на употреба. Ето още един пример, при който се обслужват два уебсайта с две различни имена на домейни:

поддомейн.пример.com
root / var / www / mysite

поддомейн2.пример.com
root / var / www / mysite2
gzip
log ... / достъп.дневник

Директивата gzip позволява компресиране, ако клиентът го поддържа. Това подобрява производителността, тъй като повече данни могат да бъдат изпратени през честотната лента и същия интервал от време. Регистрацията помага за отстраняване на грешки и проследяване на мрежовата активност.

Заключение

Най-голямата сила на уеб сървъра на Caddy е неговата лесна за писане и четене конфигурационен файл и неговата гъвкавост в множество платформи. Поради странното си лицензиране обаче сървърът не е строго отворен код. Изходният код е с отворен код и можете напълно да го компилирате сами и да използвате резултантния изпълним файл, но двоичният файл, който получавате от официалния сайт, не е предназначен да се използва за търговски цели без подходящ лиценз.

Това ни връща към въпроса за усложненията, където вместо да се занимаваме само с конфигурационни файлове, трябва да се справим и със компилацията на изходния код, побеждавайки целта на лесен за използване уеб сървър. Уведомете ни, ако имате някакви мисли за Caddy и дали някой от вашите уебсайтове работи над него.

Урок за OpenTTD
OpenTTD е една от най-популярните бизнес симулационни игри там. В тази игра трябва да създадете прекрасен транспортен бизнес. Въпреки това, ще започне...
SuperTuxKart за Linux
SuperTuxKart е страхотно заглавие, създадено да ви предостави безплатно изживяването на Mario Kart във вашата Linux система. Играта е доста предизвика...
Урок за битка за Уеснот
Битката за Уеснот е една от най-популярните стратегически игри с отворен код, които можете да играете по това време. Тази игра не само се разработва о...