S webovým serverom Caddy získate HTTPS alebo nič. Pozrime sa teda, ako môžete nainštalovať Caddy na Ubuntu a nakonfigurovať ho tak, aby slúžil vašej webovej aplikácii. Získame naše TLS certifikáty od LetsEncrypt.
Nastaviť
Predpokladajme, že máte VPS s IP adresou: 10.20.30.40 a subdoménu FQDN.príklad.com, ktorý je A, ukazuje na túto IP.
Na VPS beží Ubuntu 18.04 Vydanie servera LTS a nasledujúce konfigurácie sa vykonávajú ako používateľ root.
Krok 1: Inštalácia webového servera Caddy
Caddy je napísaný v jazyku Go a môže bežať ako samostatný spustiteľný binárny súbor. Existujú však rôzne doplnky, ktoré do nich môžete zabudovať pre konkrétne servery DNS atď. Nainštalujeme obyčajný binárny súbor bez doplnku, aby fungoval pri všetkých prispôsobeniach.
Ak chcete získať svoj binárny súbor, navštívte ich oficiálnu stránku na stiahnutie a vyberte všetky požadované doplnky a telemetriu. Pod ním bude príkaz bash na stiahnutie a umiestnenie binárneho súboru servera caddy na správne miesto. Ako užívateľ root spustite:
$ curl https: // getcaddy.com | bash-s osobnýAkonáhle je to hotové, môžeme nájsť binárny súbor spustením:
$ whereis caddycaddy: / usr / local / bin / caddy
Ak budete niekedy potrebovať server odstrániť alebo aktualizovať pomocou novšieho spustiteľného súboru, teraz viete, kde hľadať.
Krok 2: Testovanie vášho webu
Ak nemáte web, jednoducho vytvorte prázdny priečinok a spustite príkazy tam. Vo vašom prehliadači sa môže zobraziť chyba 404, ale nastavenie servera je možné stále testovať. Ak máte webovú stránku, prejdite do adresára, kde sa nachádza webová koreň vašej webovej stránky. Ako typický príklad vyberiem / var / www / mysite ako príklad s nasledujúcim indexom.html uložený v jeho vnútri.
/ var / www / mysite / index.htmlTúto stránku servera Caddy Server
Toto je odsek.
To je dosť na to, aby sme mohli začať. Teraz v rovnakom adresári ako tento index.stránku html, spustite nasledujúci príkaz:
$ caddyAktivácia funkcií ochrany osobných údajov ... hotovo.
http: //: 2015
UPOZORNENIE: Limit 1024 deskriptorov súborov je pre produkčné servery príliš nízky. Odporúča sa minimálne 8192. Oprava pomocou výrazu „ulimit -n 8192“.
V takomto stave nechajte caddy bežať.
Môžete prejsť na verejnú adresu IP vášho servera na čísle portu 2015 a vyskúšať toto: http: // 10.20.30.40: 2015 Uistite sa, že brána firewall neblokuje tento port.
A ten index uvidíte.html sa poskytuje automaticky. Nasleduje starodávna konvencia, podľa ktorej je prvá stránka ktorejkoľvek webovej stránky pomenovaná index, ktorý väčšina webových serverov ako Nginx, Apache a dokonca Caddy slúži ako prvá stránka, aj keď túto stránku neurčíte pomocou / index.html na konci adresy URL.
Krok 3: Nastavenie protokolu HTTPS
Teraz, keď ste potvrdili, že váš web skutočne spolupracuje s programom Caddy a je možné ho s ním obsluhovať, je čas nastaviť HTTPS. Môžete to urobiť pomocou rozhrania príkazového riadku alebo pomocou konfiguračného súboru s názvom Caddyfile. Najskôr použijeme príkazový riadok.
V rovnakom adresári ako váš web spustite nasledujúci príkaz:
$ caddy -host subdoména.príklad.com## Prvýkrát vás požiada o zadanie e-mailovej adresy, aby ste ju mohli získať
notifikácia o obnovení certifikátu od LetsEncrypt
Výkon:
Aktivujú sa funkcie ochrany súkromia ..Vaše weby sa budú prostredníctvom protokolu Let's Encrypt automaticky zobrazovať prostredníctvom protokolu HTTPS.
Pokračovaním vyjadrujete súhlas s dohodou Let's Encrypt Subscriber Agreement na adrese:
https: // letsencrypt.org / documents / LE-SA-v1.2. novembra - 15-2017.pdf
Zadajte svoju e-mailovú adresu, aby ste podpísali dohodu a dostali upozornenie
v prípade problémov. Môžete to nechať prázdne, ale neodporúčame to.
E-mailová adresa: [chránený e-mailom]
…
To je všetko! Váš web je teraz funkčný. Môžete navštíviť subdoménu.príklad.com a bude automaticky presmerovaný na HTTPS bez vlastného čísla portu alebo iných nuancií.
Je to také ľahké! Môžete stlačiť kombináciu klávesov CTRL + C, aby ste zastavili server, nabudúce tento certifikát iba znova použije.
Krok 4: Písanie vášho Caddyfile
Vyššie uvedená metóda je vhodná pre experimentálne prípady použitia, keď práve testujete vodu. Ak však chcete ako proces na pozadí spustený webový server, musíte napísať Caddyfile a povedať webovému serveru, aby túto konfiguráciu použil na spustenie vášho servera.
Toto je najjednoduchší príklad tej istej webovej stránky, ktorú sme hostili vyššie:
subdoména.príklad.comroot / var / www / mysite
Koreňová smernica informuje webový server o tom, kde sa webová stránka nachádza. Z tohto adresára sa nemôžete dostať zo strany klienta. Všeobecne je dobré umiestniť súbor caddy kamkoľvek, ale nie do tohto webového koreňa. Môžete ich umiestniť do priečinka / etc / alebo domovského adresára. Napríklad ak je súbor vytvorený na / etc / Caddyfile, môžete serveru povedať, aby použil túto konfiguráciu, spustením príkazu:
$ caddy -conf / etc / CaddyfileExistuje niekoľko smerníc, ktoré môžete použiť na doladenie servera. Môžete povoliť protokolovanie, kompresiu, reverzný proxy server atď. Oficiálna dokumentácia je dobrým miestom na začatie hľadania smerníc týkajúcich sa vášho prípadu použitia. Tu je ďalší príklad, keď sa zobrazujú dva weby s dvoma rôznymi názvami domén:
subdoména.príklad.comroot / var / www / mysite
subdoména2.príklad.com
root / var / www / mysite2
gzip
prihlásiť sa ... / prístup.log
Direktíva gzip umožňuje kompresiu, ak to klient podporuje. To zlepšuje výkon, pretože je možné posielať viac údajov cez šírku pásma a v rovnakom časovom intervale. Prihlasovanie pomáha pri ladení a sledovaní aktivity v sieti.
Záver
Najväčšou výhodou webového servera Caddy je jeho ľahko zapisovateľný a čitateľný konfiguračný súbor a jeho flexibilita naprieč rôznymi platformami. Kvôli podivnému licencovaniu však server nie je striktne otvoreným zdrojom. Zdrojový kód je otvorený zdrojový kód a môžete si ho sami úplne zostaviť a použiť výsledný spustiteľný súbor. Binárny súbor, ktorý dostanete z oficiálnej stránky, sa však nemá používať na komerčné účely bez príslušnej licencie.
To nás privádza späť k problému komplikácií, keď namiesto riešenia iba konfiguračných súborov musíme riešiť aj kompiláciu zdrojového kódu, ktorá marí účel ľahko použiteľného webového servera. Dajte nám vedieť, ak máte o Caddy nejaké myšlienky a či niektorý z vašich webových stránok beží nad ním.