Sådan hostes et websted med HTTPS ved hjælp af Caddy på Linux


En webserver er en applikation på serversiden designet til at behandle HTTP-anmodninger mellem klient og server. HTTP er den grundlæggende og meget udbredte netværksprotokol.

Apache HTTP Server spillede en vigtig rolle i designet af, hvad internettet er i dag. Det alene har en markedsandel på 37,3%. Nginx kommer på andenpladsen på listen med en markedsandel på 32,4%. Microsoft IIS og LiteSpeed kommer på nummer 3 og 4 med en markedsandel på henholdsvis 7,8% og 6,9%.

For nylig stødte jeg på en webserver ved navn Caddy. Da jeg prøvede at forhøre sig om dens funktioner og implementere den til test, må jeg sige, at det er fantastisk. En webserver, der er bærbar og ikke har brug for nogen konfigurationsfil. Jeg syntes, det er et meget sejt projekt og ville dele det med dig. Her har vi prøvet Caddy!

Caddy er et alternativ til en apache-webserver med nem at konfigurere og bruge. Matthew Holt - Projektlederen for Caddy hævder, at Caddy er en generel webserver, hævder at være designet til mennesker, og det er sandsynligvis den eneste af sin art.

Caddy er den eneste første webserver, der automatisk kan erhverve og forny SSL/TLS-certifikater ved hjælp af Lad os kryptere.

  1. Hurtige HTTP-anmodninger ved hjælp af HTTP/2.
  2. Kompatibel webserver med mindst konfiguration og problemfri implementering.
  3. TLS-kryptering sikrer, kryptering mellem kommunikationsapplikationer og brugere over internettet. Du kan bruge dine egne nøgler og certifikater.
  4. Let at implementere/bruge. Bare en enkelt fil og ingen afhængighed af nogen platform.
  5. Ingen installation krævet.
  6. Bærbare eksekverbare filer.
  7. Kør flere CPU'er/kerner.
  8. Avanceret WebSockets-teknologi - interaktiv kommunikationssession mellem browser og server.
  9. Server Markdown-dokumenter i farten.
  10. Fuld support til den nyeste IPv6.
  11. Opretter en log i et brugerdefineret format.
  12. Server FastCGI, Reverse Proxy, Rewrite and Redirects, Clean URL, Gzip compression, Directory Browsing, Virtual Hosts, and Headers.
  13. Fås til alle kendte platforme - Windows, Linux, BSD, Mac, Android.

  1. Caddy sigter mod at betjene internettet, som det burde være i år 2020 og ikke traditionel stil.
  2. Det er designet ikke kun til at tjene HTTP-anmodninger, men også til mennesker.
  3. Fyldt med de nyeste funktioner - HTTP/2, IPv6, Markdown, WebSockets, FastCGI, skabeloner og andre out-of-box-funktioner.
  4. Kør eksekverbare filer uden behov for at installere den.
  5. Detaljeret dokumentation med den mindst tekniske beskrivelse.
  6. Udviklet under hensyntagen til behovet og letheden hos designere, udviklere og bloggere.
  7. Support Virtual Host - Definer så mange websteder, som du vil.
  8. Velegnet til dig - uanset om dit websted er statisk eller dynamisk. Hvis du er menneske, er det noget for dig.
  9. Du fokuserer på, hvad du skal opnå, og ikke hvordan du opnår det.
  10. Tilgængelighed af support til de fleste platforme - Windows, Linux, Mac, Android, BSD.
  11. Normalt har du én Caddy-fil pr. websted.
  12. Opsæt på mindre end 1 minut, selvom du ikke er så meget computervenlig.

Jeg vil teste det på CentOS-serveren såvel som Debian Server, men de samme instruktioner fungerer også på RHEL- og Debian-baserede distributioner. For begge servere skal jeg bruge 64-bit eksekverbare filer.

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

Installation af Caddy Web Server i Linux

Uanset om du er på hvilken platform og hvilken type arkitektur du bruger, giver caddy klar til brug binære pakker, der kan installeres ved hjælp af din standardpakkehåndtering som vist.

Vi installerer den nyeste version af Caddy-webserveren fra CORP-lageret under Fedora eller RHEL/CentOS 8.

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

Brug følgende kommandoer på RHEL/CentOS 7.

# 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

Når caddy-webserveren er installeret, kan du starte, aktivere og kontrollere status for tjenesten ved hjælp af følgende systemctl-kommandoer.

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

Åbn nu din browser og peg din browser til følgende adresse, og du skal kunne se caddy-velkomstsiden.

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

Opsætning af domæner med Caddy

For at oprette et domæne skal du først rette dit domænes A/AAAA DNS-poster på denne server i dit DNS-kontrolpanel. Opret derefter et dokument-rodmappe til dit websted "eksempel.com" under mappen /var/www/html som vist.

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

Hvis du bruger SELinux, skal du ændre filsikkerhedskonteksten for webindhold.

# 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

Åbn og rediger nu caddy-konfigurationsfilen på /etc/caddy/Caddyfile .

# vim /etc/caddy/Caddyfile

Udskift : 80 med dit domænenavn, og skift stedets rod til /var/www/html/example.com som vist.

Genindlæs Caddy-tjenesten for at gemme konfigurationsændringen.

# systemctl reload caddy

Opret nu en HTML-side (du kan oprette din egen), og gem siden under dokumentets rodmappe til dit websted.

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

Tilføj følgende HTML-kode til din websides indeksside.

# 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

Besøg nu igen dit websted for at se din side.

Hvis alt er korrekt konfigureret, serveres dit domæne via en HTTPS-protokol, der indikerer, at din forbindelse er sikker.

Konklusion

Hvis du er nybegynder og vil oprette en webserver uden at gøre dine hænder beskidte med konfiguration, er dette værktøj noget for dig. Selvom du er en erfaren bruger, der har brug for er øjeblikkelig og enkel webserver, er Caddy et forsøg værd. Med en lille konfiguration kan du også indstille mappetilladelse, kontrollere godkendelse, fejlsider, Gzip, HTTP-omdirigering og andre, hvis du har brug for at oprette en mere kompleks og avanceret webserver.

Tag ikke Caddy som erstatning for Apache eller Nginx. Caddy er ikke designet til at håndtere produktionsmiljøer med høj trafik. Det er designet til en hurtig webserveropsætning, når din bekymring er hastighed og pålidelighed.

Komplet brugervejledning/Fuld dokumentation af Caddy Web Server

Vi har medbragt denne dokumentation, der sigter mod hurtig gennemgang og installationsinstruktioner med billeder, hvor det er nødvendigt. Hvis du støder på fordele/ulemper ved projektet eller noget forslag, kan du give det til os i vores kommentarsektion.

For mig er dette projekt for ungt, fungerer stadig fejlfrit og virker stærkt og lovende. Det største pluspunkt, jeg ser, er at caddy ikke behøver at bære sin konfigurationsfil overalt. Det sigter mod at levere det bedste fra Nginx, Lighttpd, vagrant og Websocketd. Det er alt fra min side. Hold forbindelsen til Tecmint. Kudos