Installere Caddy Server på Ubuntu

Installere Caddy Server på Ubuntu
TLS er viktig for alle nettsteder og webapper der ute. Hvis det er en app som bruker HTTP eller e -post, trenger den TLS. TLS sikrer personvern, integritet og ekthet av innholdet ditt. Med gratis TLS -sertifikatmyndigheter som Let's Encrypt og Cloudflare, gjør TLS mer til en norm i stedet for en spesiell sak.Å slå på TLS er imidlertid ofte en massivt komplisert prosess. Den har også massive sikkerhetsforgreninger, hvis konfigurasjonene er feilbehandlet, eller himmelen forby, lekker du tilfeldigvis din private TLS -nøkkel. For å dempe noen av disse risikoene og også gjøre livene våre mye enklere, er det en ny webserver i byen. Caddy snakker HTTP/2, og det kommer med TLS aktivert utenfor boksen. Dette betyr at du ikke trenger å sette opp HTTP manuelt til HTTPS -viderekoblinger eller bekymre deg for en Gallizion -chiffer -suiter som du aldri har sett før.

Med caddy webserver får du https eller ingenting. Så la oss se hvordan du kan installere Caddy på Ubuntu og konfigurere den til å tjene webappen din. Vi får våre TLS -sertifikater fra Letsencrypt.

Oppsett

Anta at du har en VPS med IP -adresse: 10.20.30.40 og et FQDN -underdomen.eksempel.com som er en plate peker på denne IP -en.
VPS kjører Ubuntu 18.04 LTS Server Edition og følgende konfigurasjoner gjøres som rotbruker.

Trinn 1: Installere Caddy Web Server

Caddy er skrevet i Go, og kan kjøre som en frittstående kjørbar binær. Imidlertid er det forskjellige plugins som du kan bygge inn i det for spesifikke DNS -servere osv. Vi installerer den vanlige binære uten noen plugin, så det fungerer på tvers av alle tilpasninger.

For å få binærbesøk deres offisielle nedlastingsside og velg alle plugins og telemetri du trenger. Nedenfor vil det være en bash -kommando for å laste ned og plassere Caddy -serveren binær på riktig sted. Som rotbruker, kjør:

$ krøll https: // getcaddy.com | bash -s personlig

Når det er gjort, kan vi finne det binære, ved å løpe:

$ Whereis caddy
Caddy:/usr/local/bin/caddy

Hvis du noen gang trenger å fjerne serveren, eller oppdatere den med nyere kjørbar, vet du nå hvor du skal se.

Trinn 2: Testing av nettstedet ditt

Hvis du ikke har et nettsted, er det bare å opprette en tom mappe og kjøre kommandoene der inne. Du kan få en feil 404 i nettleseren din, men serveroppsettet kan fortsatt testes. Hvis du har et nettsted som krysser til katalogen der webroot på nettstedet ditt ligger på. Som et typisk eksempel vil jeg velge /var/www/mysite Som et eksempel med følgende indeks.HTML lagret inne i den.

/var/www/mysite/indeks.html



Denne siden er servert av Caddy Server


Denne siden er servert av Caddy Server


Dette er et avsnitt.



Dette er nok til å komme oss i gang. Nå i samme katalog som denne indeksen.HTML -side, kjør følgende kommad:

$ caddy
Aktivere personvernfunksjoner ... ferdig.
http: //: 2015

Advarsel: Filbeskrivelsesgrense 1024 er for lav for produksjonsservere. Minst 8192 anbefales. Fix med 'Ulimit -n 8192'.

La Caddy løpe i denne tilstanden.

Du kan gå til serverens offentlige IP på portnummer 2015 for å teste dette: http: // 10.20.30.40: 2015 Forsikre deg om at brannmuren din ikke blokkerer denne porten.

Og du vil se den indeksen.HTML blir automatisk servert. Dette følger den gamle konvensjonen om at ethvert nettsteds første side heter Index som de fleste webservere som Nginx, Apache og til og med Caddy serverer som den første siden, selv når du ikke spesifiserer denne siden ved å bruke /indeks.HTML på slutten av nettadressen.

Trinn 3: Sette opp HTTPS

Nå som du har bekreftet at nettstedet ditt faktisk fungerer med Caddy og kan serveres med det, er det på tide å konfigurere HTTPS. For å gjøre dette kan du bruke kommandolinjegrensesnittet, eller bruke en konfigurasjonsfil som kalles caddyfile. Vi bruker kommandolinjen først.

I samme katalog som nettstedet ditt, kjør følgende kommando:

$ caddy -host underdomen.eksempel.com
## For første gang vil det be deg om e -postadressen din slik at du kan få
Bevisst fornyelsesvarsling fra Letsencrypt

Produksjon:

Aktivering av personvernfunksjoner ..
Nettstedene dine blir servert over HTTPS automatisk ved å bruke Let's Encrypt.
Ved å fortsette, samtykker du til Let's Krypt -abonnentavtalen på:
https: // letsencrypt.org/dokumenter/le-sa-v1.2-november-15-2017.PDF
Vennligst skriv inn e -postadressen din for å betegne avtalen og bli varslet
I tilfelle av problemer. Du kan la det være tomt, men vi anbefaler det ikke.
E -postadresse: [email protected]
..

Det er det! Nettstedet ditt er nå i gang. Du kan besøke underdomenet.eksempel.com og det blir automatisk omdirigert til https uten tilpasset portnummer eller andre nyanser.

Det er så enkelt! Du kan CTRL+C for å stoppe serveren, neste gang den bare bruker dette sertifikatet.

Trinn 4: Å skrive din caddyfile

Ovennevnte metode er bra for eksperimentelle brukstilfeller der du bare tester vannet. Men hvis du vil ha en kjørende webserver som bakgrunnsprosess, må du skrive en caddyfile og be webserveren om å bruke denne konfigurasjonen for å kjøre serveren din.

Dette er det enkleste eksemplet for det samme nettstedet vi var vert for ovenfor:

underdomen.eksempel.com
root/var/www/mysite

Rotdirektivet forteller webserveren hvor nettstedet er lokalisert. Du kan ikke komme ut av denne katalogen fra klientsiden. Det er generelt en god idé å plassere caddy -filen din hvor som helst, men inne i denne Webroot. Du kan plassere den i / etc / mappe eller hjemmekatalogen. For eksempel, hvis filen er opprettet på /etc /caddyfile, kan du fortelle serveren å bruke denne konfigurasjonen, ved å kjøre kommandoen:

$ caddy -conf /etc /caddyfile

Det er flere direktiver som du kan bruke til å finjustere serveren din. Du kan aktivere logging, komprimering, omvendt proxy osv. Den offisielle dokumentasjonen er et bra sted å begynne å lete etter direktiver relatert til brukssaken din. Her er et annet eksempel der to nettsteder med to forskjellige domenenavn blir servert:

underdomen.eksempel.com
root/var/www/mysite

underdomen2.eksempel.com
root/var/www/mysite2
Gzip
Logg… /tilgang.Logg

Direktiv GZIP muliggjør komprimering, hvis klienten støtter det. Dette forbedrer ytelsen ettersom mer data kan sendes over båndbredden og samme tidsintervall. Logging hjelper til med å feilsøke og holde oversikt over nettverksaktivitet.

Konklusjon

Den største styrken til Caddy Web Server er dens enkle å skrive og lese konfigurasjonsfilen og dens fleksibilitet på tvers av flere plattformer. På grunn av sin rare lisensiering er serveren imidlertid ikke strengt open source. Kildekoden er åpen kildekode, og du kan fullstendig samle den selv og bruke den resulterende kjørbare, men det binære du mottar fra det offisielle nettstedet er ikke ment å bli brukt til kommersielle formål uten riktig lisens.

Dette bringer oss tilbake til spørsmålet om komplikasjoner der vi i stedet for å håndtere bare konfigurasjonsfiler, også må håndtere kildekodesamlingen som beseirer formålet med brukervennlige webserver. Gi oss beskjed hvis du har noen tanker om Caddy, og hvis noen av nettstedene dine kjører på toppen av det.