Kako gostiti spletno mesto s protokolom HTTPS z uporabo Caddyja v sistemu Linux


Spletni strežnik je strežniška aplikacija, namenjena obdelavi zahtev HTTP med odjemalcem in strežnikom. HTTP je osnovni in zelo razširjen omrežni protokol.

Strežnik Apache HTTP je imel pomembno vlogo pri oblikovanju današnjega spleta. Samo ta ima tržni delež 37,3%. Nginx je na drugem mestu na seznamu s tržnim deležem 32,4%. Microsoft IIS in LiteSpeed sta na 3. in 4. mestu s tržnim deležem 7,8% oziroma 6,9%.

Pred kratkim sem naletel na spletni strežnik z imenom Caddy. Ko sem se poskušal pozanimati o njegovih lastnostih in jih uporabiti za testiranje, moram reči, da je neverjetno. Spletni strežnik, ki je prenosen in ne potrebuje konfiguracijske datoteke. Mislil sem, da je to zelo kul projekt in ga želel deliti z vami. Tukaj smo poskusili Caddy!

Caddy je alternativa spletnemu strežniku apache z enostavno konfiguracijo in uporabo. Matthew Holt-Vodja projekta Caddy trdi, da je Caddy splošni spletni strežnik, trdi, da je zasnovan za ljudi in je verjetno edini te vrste.

Caddy je edini prvi spletni strežnik, ki lahko samodejno pridobi in obnovi certifikate SSL/TLS z uporabo Let's Encrypt.

  1. Hitre zahteve HTTP z uporabo HTTP/2.
  2. Zmožen spletni strežnik z najmanj konfiguracijo in uvajanjem brez težav.
  3. Šifriranje TLS zagotavlja šifriranje med komunikacijskimi aplikacijami in uporabniki po internetu. Uporabite lahko svoje ključe in potrdila.
  4. Enostaven za namestitev/uporabo. Samo ena datoteka in brez odvisnosti od katere koli platforme.
  5. Namestitev ni potrebna.
  6. Prenosne izvedljive datoteke.
  7. Delovanje več procesorjev/jeder.
  8. Napredna tehnologija WebSockets - interaktivna komunikacijska seja med brskalnikom in strežnikom.
  9. Dokumenti strežnika Markdown na tekočem.
  10. Popolna podpora za najnovejši IPv6.
  11. Ustvari dnevnik v obliki po meri.
  12. Služite FastCGI, Reverse Proxy, Rewrite and Redirects, Clean URL, Gzip compression, Browsing Directory, Virtual Hosts in Headers.
  13. Na voljo za vse znane platforme - Windows, Linux, BSD, Mac, Android.

  1. Caddy želi služiti spletu, kakršen bi moral biti v letu 2020, in ne v tradicionalnem slogu.
  2. Zasnovan je ne samo za izpolnjevanje zahtev HTTP, ampak tudi za ljudi.
  3. Naloženo z najnovejšimi funkcijami-HTTP/2, IPv6, Markdown, WebSockets, FastCGI, predlogami in drugimi lastnostmi.
  4. Zaženite izvedljive datoteke, ne da bi jih morali namestiti.
  5. Podrobna dokumentacija z najmanj tehničnim opisom.
  6. Razvit ob upoštevanju potreb in enostavnosti oblikovalcev, razvijalcev in blogerjev.
  7. Podprite navideznega gostitelja - določite poljubno število spletnih mest.
  8. Primerno za vas - ne glede na to, ali je vaše spletno mesto statično ali dinamično. Če ste človek, je to za vas.
  9. Osredotočite se na to, kaj želite doseči, in ne na to, kako to doseči.
  10. Razpoložljivost podpore za večino platform - Windows, Linux, Mac, Android, BSD.
  11. Običajno imate eno datoteko Caddy na spletno mesto.
  12. Nastavite v manj kot 1 minuti, tudi če niste preveč prijazni do računalnika.

Preizkusil ga bom na strežniku CentOS, pa tudi na strežniku Debian, vendar ista navodila delujejo tudi na distribucijah, ki temeljijo na RHEL in Debian. Za oba strežnika bom uporabil 64-bitne izvedljive datoteke.

Operating Systems: CentOS 8 and Debian 10 Buster
Caddy Version: v2.0.0

Namestitev spletnega strežnika Caddy v Linux

Ne glede na to, na kateri platformi in kakšno arhitekturo uporabljate, caddy ponuja binarne pakete, pripravljene za uporabo, ki jih je mogoče namestiti s privzetim upraviteljem paketov, kot je prikazano.

Najnovejšo različico spletnega strežnika Caddy bomo namestili iz skladišča CORP v sistemu Fedora ali RHEL/CentOS 8.

# dnf install 'dnf-command(copr)'
# dnf copr enable @caddy/caddy
# dnf install caddy

V sistemu RHEL/CentOS 7 uporabite naslednje ukaze.

# yum install yum-plugin-copr
# yum copr enable @caddy/caddy
# yum install caddy
$ echo "deb [trusted=yes] https://apt.fury.io/caddy/ /" \
    | sudo tee -a /etc/apt/sources.list.d/caddy-fury.list
$ sudo apt update
$ sudo apt install caddy

Ko je spletni strežnik caddy nameščen, lahko z naslednjimi ukazi systemctl zaženete, omogočite in preverite stanje storitve.

# systemctl start caddy
# systemctl enable caddy
# systemctl status caddy

Zdaj odprite brskalnik in usmerite brskalnik na naslednji naslov in videli boste lahko pozdravno stran caddy.

http://Server-IP
OR
http://yourdomain.com

Nastavitev domen s Caddyjem

Če želite nastaviti domeno, morate najprej na tem strežniku na nadzorni plošči DNS usmeriti zapise A/AAAA DNS svoje domene. Nato ustvarite korenski imenik dokumenta za svoje spletno mesto \"example.com \" v mapi /var/www/html , kot je prikazano.

$ mkdir /var/www/html/example.com

Če uporabljate SELinux, morate spremeniti kontekst varnosti datotek za spletno vsebino.

# chcon -t httpd_sys_content_t /var/www/html/example.com -R
# chcon -t httpd_sys_rw_content_t /var/www/html/example.com -R

Zdaj odprite in uredite konfiguracijsko datoteko caddy na /etc/caddy/Caddyfile .

# vim /etc/caddy/Caddyfile

Zamenjajte : 80 z imenom svoje domene in koren spletnega mesta spremenite v /var/www/html/example.com , kot je prikazano.

Znova naložite storitev Caddy, da shranite spremembo konfiguracije.

# systemctl reload caddy

Zdaj ustvarite katero koli stran HTML (lahko ustvarite svojo) in stran shranite v korenski imenik dokumenta za svoje spletno mesto.

# touch /var/www/html/example.com/index.html

Na indeksno stran svojega spletnega mesta dodajte naslednji vzorec kode HTML.

# echo '<!doctype html><head><title>Caddy Test Page at TecMint</title></head><body><h1>Hello, World!</h1></body></html>' | sudo tee /var/www/html/index.html

Zdaj znova obiščite svojo stran in si oglejte svojo stran.

Če je vse pravilno konfigurirano, bo vaša domena vročena prek protokola HTTPS, ki označuje, da je vaša povezava varna.

Zaključek

Če ste novinci in želite nastaviti spletni strežnik, ne da bi si umazali roke s konfiguracijo, je to orodje za vas. Tudi če ste izkušen uporabnik, ki potrebuje takojšen in preprost spletni strežnik, je vredno poskusiti Caddy. Z malo konfiguracije lahko nastavite tudi dovoljenje za mape, preverjanje pristnosti, strani z napakami, Gzip, preusmeritev HTTP in druge, če želite nastaviti bolj zapleten in napreden spletni strežnik.

Ne jemljite Caddyja kot nadomestek za Apache ali Nginx. Caddy ni zasnovan za proizvodno okolje z velikim prometom. Zasnovan je za hitro nastavitev spletnega strežnika, kadar vas skrbi hitrost in zanesljivost.

Popoln uporabniški priročnik/celotna dokumentacija spletnega strežnika Caddy

Predložili smo to dokumentacijo, katere cilj je hiter pregled in navodila za namestitev s slikami, kadar koli je to potrebno. Če naletite na kakšne prednosti/slabosti projekta ali kakšen predlog, nam ga lahko posredujete v našem razdelku za komentarje.

Zame je ta projekt premlad, še vedno deluje brezhibno in se zdi močan in obetaven. Največji plus, ki ga vidim, je, da caddyju ni treba nositi konfiguracijske datoteke povsod. Njegov cilj je zagotoviti najboljše iz Nginxa, Lighttpda, potepuha in Websocketda. To je vse z moje strani. Ostanite povezani s Tecmintom. Pohvale