Med Caddy webserver får du HTTPS eller ingenting. Så la oss se hvordan du kan installere Caddy på Ubuntu og konfigurere den til å betjene webappen din. Vi får TLS-sertifikatene våre fra LetsEncrypt.
Oppsett
Anta at du har en VPS med IP-adresse: 10.20.30.40 og et FQDN-underdomener.eksempel.com som er En plate peker på denne IP-adressen.
VPS kjører Ubuntu 18.04 LTS serverutgave 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 den for spesifikke DNS-servere osv. Vi installerer det vanlige binærsystemet uten noe plugin, så det fungerer på tvers av alle tilpasninger.
For å få din binære, besø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 server binær på riktig sted. Som root-bruker, kjør:
$ curl https: // getcaddy.com | bash -s personligNår det er gjort, kan vi finne binærfilen ved å kjøre:
$ hvor er caddiecaddy: / usr / local / bin / caddy
Hvis du noen gang trenger å fjerne serveren, eller oppdatere den med nyere kjørbar, vet du nå hvor du skal lete.
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 går til katalogen der webroot til nettstedet ditt ligger. Som et typisk eksempel vil jeg velge / var / www / mitt nettsted som et eksempel med følgende indeks.html lagret i den.
/ var / www / mysite / index.htmlDenne siden serveres 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 kommando:
$ caddyAktiverer personvernfunksjoner ... ferdig.
http: //: 2015
ADVARSEL: Filbeskrivelsesgrense 1024 er for lav for produksjonsservere. Minst 8192 anbefales. Løs med 'ulimit -n 8192'.
La caddie kjøre i denne tilstanden.
Du kan gå til serverens offentlige IP på portnummer 2015 for å teste dette: http: // 10.20.30.40: 2015 sørg for at brannmuren ikke blokkerer denne porten.
Og du vil se den indeksen.html serveres automatisk. Dette følger den eldgamle konvensjonen om at nettstedets første side heter indeks som de fleste webservere som Nginx, Apache og til og med Caddy serverer som første side, selv når du ikke spesifiserer denne siden ved å bruke / indeksere.html på slutten av URL-en.
Trinn 3: Konfigurere HTTPS
Nå som du har bekreftet at nettstedet ditt faktisk fungerer med Caddy og kan serveres med det, er det på tide å sette opp HTTPS. For å gjøre dette kan du bruke kommandolinjegrensesnittet, eller bruke en konfigurasjonsfil kalt Caddyfile. Vi bruker kommandolinjen først.
I samme katalog som nettstedet ditt, kjør følgende kommando:
$ caddy -host-underdomenet.eksempel.com## For første gang vil den be deg om e-postadressen din slik at du kan få
varsel om sertifikatfornyelse fra LetsEncrypt
Produksjon:
Aktiverer personvernfunksjoner ..Nettstedene dine blir servert over HTTPS automatisk ved hjelp av Let's Encrypt.
Ved å fortsette godtar du Let's Encrypt Subscriber Agreement på:
https: // letsencrypt.org / dokumenter / LE-SA-v1.2. november-15-2017.pdf
Vennligst skriv inn e-postadressen din for å signere avtalen og for å bli varslet
i tilfelle problemer. Du kan la det være tomt, men vi anbefaler det ikke.
E-postadresse: [e-postbeskyttet]
..
Det er det! Nettstedet ditt er nå i gang. Du kan besøke underdomenet.eksempel.com, og den blir automatisk omdirigert til HTTPS uten noe tilpasset portnummer eller andre nyanser.
Det er så enkelt! Du kan CTRL + C for å stoppe serveren, neste gang den bare bruker dette sertifikatet på nytt.
Trinn 4: Skrive Caddyfile
Ovennevnte metode er bra for eksperimentelle tilfeller der du bare tester vannet. Men hvis du vil ha en løpende webserver som bakgrunnsprosess, må du skrive en Caddyfile og be webserveren om å bruke denne konfigurasjonen til å kjøre serveren din.
Dette er det enkleste eksemplet for det samme nettstedet vi hostet ovenfor:
underdomenet.eksempel.comroot / var / www / mysite
Rotdirektivet forteller webserveren hvor nettstedet ligger. Du kan ikke komme deg ut av denne katalogen fra klientsiden. Det er generelt en god ide å plassere caddy-filen din hvor som helst, men inne i denne webroot. Du kan plassere den i / etc / mappen eller hjemmekatalogen. For eksempel, hvis filen er opprettet på / etc / Caddyfile, kan du be serveren om å bruke denne konfigurasjonen ved å kjøre kommandoen:
$ caddy -conf / etc / CaddyfileDet er flere direktiver du kan bruke til å finjustere serveren din. Du kan aktivere logging, komprimering, omvendt proxy osv. Den offisielle dokumentasjonen er et godt sted å begynne å lete etter direktiver knyttet til brukssaken din. Her er et annet eksempel der to nettsteder med to forskjellige domenenavn blir servert:
underdomenet.eksempel.comroot / var / www / mysite
underdomener2.eksempel.com
root / var / www / mysite2
gzip
logg ... / tilgang.Logg
Direktivet gzip muliggjør komprimering hvis klienten støtter det. Dette forbedrer ytelsen ettersom flere data kan sendes over båndbredden og samme tidsintervall. Logging hjelper til med feilsøking og styring av nettverksaktivitet.
Konklusjon
Den største styrken til Caddy-webserveren er den enkle å skrive og lese konfigurasjonsfilen og dens fleksibilitet på tvers av flere plattformer. Imidlertid, på grunn av sin rare lisensiering, er serveren ikke strengt åpen kildekode. Kildekoden er åpen kildekode, og du kan helt kompilere den selv og bruke den resulterende kjørbare filen, men binæren du mottar fra det offisielle nettstedet er ikke ment å brukes til kommersielle formål uten riktig lisens.
Dette bringer oss tilbake til problemet med komplikasjoner der vi i stedet for å håndtere bare konfigurasjonsfiler, også må håndtere kildekodekompilering som beseirer formålet med enkel å bruke webserver. Gi oss beskjed hvis du har noen tanker om Caddy, og om noen av nettstedene dine kjører på toppen av det.