Caddy

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 sender e-post, trenger den TLS. TLS sikrer personvern, integritet og autentisitet av innholdet ditt. Med gratis TLS-sertifikatmyndigheter som Let's Encrypt og CloudFlare, blir TLS mer til en norm enn en spesiell sak.Å slå på TLS er imidlertid ofte en enormt komplisert prosess. Det har også enorme sikkerhetsforbedringer, hvis konfigurasjonene blir feilhåndtert, eller himmelen forby, lekker du ved en feiltakelse din private TLS-nøkkel. For å redusere noen av disse risikoene og også for å gjøre livene våre mye enklere, er det en ny webserver i byen. Caddy snakker HTTP / 2, og den kommer med TLS aktivert utenom boksen. Dette betyr at du ikke trenger å konfigurere HTTP manuelt til HTTPS-viderekoblinger eller bekymre deg for en gallizion-krypteringssuiter 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 å 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 personlig

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

$ hvor er caddie
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 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.html



Denne siden serveres av Caddy Server


Denne 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:

$ caddy
Aktiverer 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.com
root / 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 / Caddyfile

Det 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.com
root / 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.

SuperTuxKart for Linux
SuperTuxKart er en flott tittel designet for å gi deg Mario Kart-opplevelsen gratis på Linux-systemet ditt. Det er ganske utfordrende og morsomt å spi...
Kjemp om Wesnoth-opplæringen
Kampen om Wesnoth er et av de mest populære open source-strategispillene du kan spille på dette tidspunktet. Ikke bare har dette spillet vært i utvikl...
0 A.D. Opplæringen
Ut av de mange strategispillene der ute, 0 A.D. klarer å skille seg ut som en omfattende tittel og et veldig dypt, taktisk spill til tross for å være ...