Kako ugostiti web mjesto s HTTPS-om koristeći Caddy na Linuxu


Web poslužitelj je aplikacija na strani poslužitelja dizajnirana za obradu HTTP zahtjeva između klijenta i poslužitelja. HTTP je osnovni i vrlo široko korišten mrežni protokol.

Apache HTTP poslužitelj igrao je važnu ulogu u dizajniranju onoga što web danas jest. Samo ima tržišni udio od 37,3%. Nginx je drugi na popisu s tržišnim udjelom od 32,4%. Microsoft IIS i LiteSpeed dolaze na 3. i 4. mjesto s tržišnim udjelom od 7,8% odnosno 6,9%.

Nedavno sam naišao na web poslužitelj pod nazivom Caddy. Kad sam se pokušao raspitati o njegovim značajkama i upotrijebio ga na testiranju, moram reći da je nevjerojatan. Web poslužitelj koji je prenosiv i ne treba konfiguracijsku datoteku. Mislio sam da je to vrlo cool projekt i htio sam ga podijeliti s vama. Ovdje smo isprobali Caddy!

Što je Caddy?

Caddy je alternativa apache web poslužitelju s jednostavnim konfiguriranjem i korištenjem. Matthew Holt – Voditelj projekta Caddy tvrdi da je Caddy web poslužitelj opće namjene, tvrdi da je dizajniran za ljude i da je vjerojatno jedini te vrste.

Caddy je jedini prvi web poslužitelj koji može automatski nabaviti i obnoviti SSL/TLS certifikate pomoću Let’s Encrypt.

Značajke Caddyja

  1. Brzi HTTP zahtjevi koristeći HTTP/2.
  2. Sposoban web-poslužitelj s najmanje konfiguracije i implementacijom bez muke.
  3. TLS enkripcija osigurava enkripciju između aplikacija koje komuniciraju i korisnika preko Interneta. Možete koristiti vlastite ključeve i certifikate.
  4. Jednostavan za implementaciju/upotrebu. Samo jedna jedina datoteka i bez ovisnosti o bilo kojoj platformi.
  5. Nije potrebna instalacija.
  6. Prijenosne izvršne datoteke.
  7. Pokretanje na više procesora/jezgri.
  8. Napredna tehnologija WebSockets – interaktivna komunikacijska sesija između preglednika i poslužitelja.
  9. Server Markdown dokumenti u hodu.
  10. Puna podrška za najnoviji IPv6.
  11. Stvara dnevnik u prilagođenom formatu.
  12. Poslužujte FastCGI, obrnuti proxy, prepisivanje i preusmjeravanja, čisti URL, Gzip kompresiju, pregledavanje direktorija, virtualne hostove i zaglavlja.
  13. Dostupno za sve poznate platforme – Windows, Linux, BSD, Mac, Android.

Što Caddy čini drugačijim?

  1. Caddy ima za cilj poslužiti web kakav bi trebao biti u 2020. godini, a ne tradicionalni stil.
  2. Dizajniran je ne samo za posluživanje HTTP zahtjeva, već i za ljude.
  3. Pun najnovijih značajki – HTTP/2, IPv6, Markdown, WebSockets, FastCGI, predlošci i druge značajke izvan okvira.
  4. Pokrenite izvršne datoteke bez potrebe za instalacijom.
  5. Detaljna dokumentacija s minimalnim tehničkim opisom.
  6. Razvijen imajući na umu potrebe i jednostavnost dizajnera, programera i blogera.
  7. Podrška za virtualni host – definirajte onoliko stranica koliko želite.
  8. Prikladno za vas – bez obzira je li vaša stranica statična ili dinamična. Ako ste čovjek, to je za vas.
  9. Fokusirate se na ono što želite postići, a ne na to kako to postići.
  10. Dostupnost podrške za većinu platformi – Windows, Linux, Mac, Android, BSD.
  11. Obično imate jednu Caddy datoteku po stranici.
  12. Postavite za manje od 1 minute, čak i ako niste toliko prijateljski raspoloženi za računalo.
Okruženje za testiranje

Testirat ću ga na CentOS poslužitelju, kao i na Debian poslužitelju, ali iste upute rade i na RHEL i Debianu distribucije. Za oba poslužitelja koristit ću 64-bitne izvršne datoteke.

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

Instalacija Caddy web poslužitelja u Linuxu

Bez obzira na kojoj ste platformi i kakvu arhitekturu koristite, caddy nudi spremne za korištenje binarne pakete, koji se mogu instalirati pomoću vašeg zadanog upravitelja paketima kao što je prikazano.

Instalirajte Caddy u Fedora, RedHat, CentOS

Instalirat ćemo najnoviju verziju Caddy web poslužitelja iz CORP repozitorija pod Fedora ili RHEL/CentOS 8.

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

Na RHEL/CentOS 7 koristite sljedeće naredbe.

yum install yum-plugin-copr
yum copr enable @caddy/caddy
yum install caddy

Instalirajte Caddy u Debian i Ubuntu

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

Nakon što instalirate caddy web poslužitelj, možete pokrenuti, omogućiti i provjeriti status usluge koristeći sljedeće systemctl naredbe.

systemctl start caddy
systemctl enable caddy
systemctl status caddy

Sada otvorite svoj preglednik i usmjerite ga na sljedeću adresu i trebali biste moći vidjeti caddy stranicu dobrodošlice.

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

Postavljanje domena s Caddyjem

Da biste postavili domenu, prvo trebate usmjeriti A/AAAA DNS zapise vaše domene na ovaj poslužitelj na vašoj DNS upravljačkoj ploči. Zatim stvorite korijenski direktorij dokumenta za svoju web stranicu "example.com" u mapi /var/www/html kao što je prikazano.

mkdir /var/www/html/example.com

Ako koristite SELinux, trebate promijeniti sigurnosni kontekst datoteke za web sadržaj.

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

Sada otvorite i uredite konfiguracijsku datoteku caddyja na /etc/caddy/Caddyfile.

vim /etc/caddy/Caddyfile

Zamijenite :80 nazivom svoje domene i promijenite korijen web stranice u /var/www/html/example.com kao što je prikazano.

Ponovno učitajte uslugu Caddy da biste spremili promjenu konfiguracije.

systemctl reload caddy

Sada izradite bilo koju HTML stranicu (možete izraditi vlastitu) i spremite je u korijenski direktorij dokumenta za svoju web stranicu.

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

Dodajte sljedeći primjer Html koda na indeksnu stranicu svoje web stranice.

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

Sada ponovno posjetite svoju stranicu da vidite svoju stranicu.

Ako je sve ispravno konfigurirano, vaša će se domena posluživati preko HTTPS protokola što znači da je vaša veza sigurna.

Zaključak

Ako ste početnik i želite postaviti web poslužitelj bez prljanja ruku konfiguracijom, ovaj je alat za vas. Čak i ako ste iskusan korisnik kojem je potreban instant i jednostavan web poslužitelj, Caddy vrijedi isprobati. Uz malu konfiguraciju, također možete postaviti dopuštenje mape, kontrolirati provjeru autentičnosti, stranice s pogreškama, Gzip, HTTP preusmjeravanje i ostalo, ako trebate postaviti složeniji i napredniji web poslužitelj.

Ne uzimajte Caddy kao zamjenu za Apache ili Nginx. Caddy nije dizajniran za rad u proizvodnom okruženju s velikim prometom. Dizajniran je za brzo postavljanje web-poslužitelja kada su vam važni brzina i pouzdanost.

Reference

Cjeloviti korisnički priručnik/potpuna dokumentacija Caddy web poslužitelja

Donijeli smo ovu dokumentaciju koja ima za cilj brzi pregled i upute za instalaciju sa slikama gdje god je potrebno. Ako naiđete na bilo kakve prednosti/protivnosti projekta ili bilo kakav prijedlog, možete nam ga dati u našem odjeljku za komentare.

Za mene je ovaj projekt premlad i dalje radi besprijekorno i djeluje snažno i obećavajuće. Najveća prednost koju vidim je to što caddy ne mora svugdje nositi svoju konfiguracijsku datoteku. Cilj mu je pružiti najbolje od Nginxa, Lighttpda, vagranta i Websocketda. To je sve s moje strane. Ostanite povezani s Tecmintom. Čast