Z serwerem WWW Caddy otrzymujesz HTTPS lub nic. Zobaczmy więc, jak możesz zainstalować Caddy na Ubuntu i skonfiguruj go tak, aby obsługiwać aplikację internetową. Otrzymamy nasze certyfikaty TLS od LetsEncrypt.
Organizować coś
Załóżmy, że masz VPS z adresem IP: 10.20.30.40 i subdomena FQDN.przykład.com, kto jest rekordem, wskazuje na ten adres IP.
VPS działa Ubuntu 18.04 LTS Server Edition i następujące konfiguracje są wykonywane jako użytkownik root.
Krok 1: Instalowanie serwera WWW Caddy
Caddy jest napisany w Go i może działać jako samodzielny plik wykonywalny. Istnieją jednak różne wtyczki, które można w nim zbudować dla określonych serwerów DNS itp. Będziemy instalować równinę binarną bez żadnej wtyczki, aby działał we wszystkich dostosowacjach.
Aby uzyskać swoją binarną wizytę na oficjalnej stronie pobierania i wybierz wszystkie wymagane wtyczki i telemetrii. Below it will be a bash command to download and place the caddy server binary in the right location. Jako użytkownik root, uruchom:
$ curl https: // getcaddy.com | Bash -s osobisty
Po zrobieniu tego możemy zlokalizować plik binarny, uruchamiając:
$ Whereis Caddy
Caddy:/usr/lokalny/bin/caddy
Jeśli kiedykolwiek chcesz usunąć serwer lub zaktualizować go o nowsze wykonywalne, teraz wiesz, gdzie szukać.
Krok 2: Testowanie Twojej witryny
Jeśli nie masz witryny, po prostu utwórz pusty folder i uruchom tam polecenia. Możesz uzyskać błąd 404 w przeglądarce, ale konfiguracja serwera może być nadal testowana. Jeśli masz witrynę, przemierzaj katalog, w którym znajduje się Webroot Twojej witryny. Jako typowy przykład wybieram /var/www/mysite Jako przykład z następującym indeksem.HTML przechowywane w nim.
/var/www/mysite/index.htmlTa strona jest serwerowa przez Caddy Server
To jest akapit.
To wystarczy, aby nas zacząć. Teraz w tym samym katalogu, co ten indeks.Strona HTML, uruchom następujący Commad:
$ Caddy
Aktywowanie funkcji prywatności… gotowe.
http: //: 2015
OSTRZEŻENIE: Limit deskryptora pliku 1024 jest zbyt niski dla serwerów produkcyjnych. Zaleca się co najmniej 8192. Napraw za pomocą „Ulimit -n 8192”.
Pozostaw Caddy'ego w tym stanie.
Możesz przejść do publicznego adresu IP swojego serwera pod numerem portu 2015, aby przetestować to: http: // 10.20.30.40: 2015 upewnij się, że Twoja zapora nie blokuje tego portu.
I zobaczysz ten indeks.HTML jest automatycznie obsługiwany. Jest to zgodne z wiekową konwencją, że pierwsza strona każdej strony nazywa się indeksem, który większość serwerów WWW, takich jak Nginx, Apache, a nawet Caddy, służy jako pierwsza strona, nawet jeśli nie określacie tej strony za pomocą /indeksu.html na końcu adresu URL.
Krok 3: Konfigurowanie HTTPS
Teraz, gdy potwierdziłeś, że Twoja witryna rzeczywiście działa z Caddy i może być z nią podana, nadszedł czas, aby skonfigurować HTTPS. Aby to zrobić, możesz użyć interfejsu wiersza poleceń lub użyć pliku konfiguracji o nazwie CaddyFile. Najpierw użyjemy wiersza poleceń.
W tym samym katalogu, co Twoja strona internetowa, uruchom następujące polecenie:
$ caddy -host subdomena.przykład.com
## Po raz pierwszy poprosi Cię o swój adres e -mail, abyś mógł uzyskać
Powiadomienie o odnowieniu certyfikatów od LetsEncrypt
Wyjście:
Aktywowanie funkcji prywatności…Otóż to! Twoja witryna jest teraz uruchomiona. Możesz odwiedzić subdomenę.przykład.com i zostanie automatycznie przekierowywany do HTTPS bez żadnego niestandardowego numeru portu lub innych niuansów.
To takie łatwe! Możesz Ctrl+C, aby zatrzymać serwer, następnym razem po prostu ponownie użyje tego certyfikatu.
Krok 4: Pisanie swojego caddyfile
Powyższa metoda jest dobra w eksperymentalnych przypadkach użycia, w których właśnie testujesz wodę. Ale jeśli chcesz uruchomionego serwera WWW jako proces tła, musisz napisać Caddyfile i powiedzieć serwerowi WWW, aby użył tej konfiguracji do uruchomienia serwera.
To najprostszy przykład tej samej strony, którą hostowaliśmy powyżej:
subdomena.przykład.com
root/var/www/mysite
Dyrektywa główna informuje serwer WWW, gdzie znajduje się strona internetowa. Nie możesz wyjść z tego katalogu od strony klienta. Zasadniczo dobrym pomysłem jest umieszczenie pliku caddy w dowolnym miejscu, ale wewnątrz tego Webroot. Możesz umieścić go w / etc / folder lub katalog domowy. Na przykład, jeśli plik jest tworzony na /etc /caddyfile, możesz powiedzieć serwerowi, aby użył tej konfiguracji, uruchamiając polecenie:
$ caddy -conf /etc /caddyfile
Istnieje wiele dyrektyw, których można użyć do dostrojenia serwera. Możesz włączyć rejestrowanie, kompresję, odwrotne proxy itp. Oficjalna dokumentacja jest dobrym miejscem do rozpoczęcia poszukiwania dyrektyw związanych z sprawą użycia. Oto kolejny przykład, w którym obsługiwane są dwie strony internetowe o dwóch różnych nazwach domen:
subdomena.przykład.com
root/var/www/mysite
Subdomain2.przykład.com
root/var/www/mysite2
gzip
Log… /Dostęp.dziennik
Dyrektywa GZIP umożliwia kompresję, jeśli klient ją obsługuje. Poprawia to wydajność, ponieważ więcej danych można wysłać w stosunku do przepustowości i tego samego czasu czasu. Logowanie pomaga w debugowaniu i śledzeniu aktywności sieciowej.
Największą siłą Caddy Web Server jest łatwy w zapisaniu i odczytania pliku konfiguracji oraz jego elastyczność na wielu platformach. Jednak ze względu na dziwne licencjonowanie serwer nie jest ściśle open source. Kod źródłowy jest open source i możesz całkowicie go skompilować i użyć wynikającego z tego wykonywania, ale binarne, które otrzymujesz z oficjalnej witryny, nie ma być używane do celów komercyjnych bez odpowiedniej licencji.
Sprowadza nas to z powrotem do kwestii komplikacji, w których zamiast radzić sobie z plikami konfiguracyjnymi, musimy również poradzić sobie z kompilacją kodu źródłowego, pokonując cel łatwego w użyciu serwera WWW. Daj nam znać, jeśli masz jakieś przemyślenia na temat Caddy, a jeśli którekolwiek z twoich stron internetowych uruchomi się.