Caddy

Installation af Caddy Server på Ubuntu

Installation af Caddy Server på Ubuntu
TLS er vigtig for alle websteder og webapps derude. Hvis der er en app, der bruger HTTP eller sender e-mail, har den brug for TLS. TLS sikrer privatlivets fred, integritet og ægthed af dit indhold. Med gratis TLS-certifikatmyndigheder som Let's Encrypt og CloudFlare bliver TLS mere til en norm snarere end en speciel sag.At tænde TLS er imidlertid ofte en meget kompliceret proces. Det har også massive sikkerhedsforgreninger, hvis konfigurationerne er forkert håndteret eller himlen forbyder, lækker du ved en fejltagelse din private TLS-nøgle. For at afbøde nogle af disse risici og også gøre vores liv meget lettere, er der en ny webserver i byen. Caddy taler HTTP / 2, og det kommer med TLS aktiveret uden for boksen. Dette betyder, at du ikke behøver at opsætte HTTP til HTTPS-omdirigeringer manuelt eller bekymre dig om en gallizion-chifferpakker, som du aldrig har set før.

Med Caddy-webserver får du HTTPS eller intet. Så lad os se, hvordan du kan installere Caddy på Ubuntu og konfigurere det til at betjene din webapp. Vi får vores TLS-certifikater fra LetsEncrypt.

Opsætning

Antag, at du har en VPS med IP-adresse: 10.20.30.40 og et FQDN-underdomæne.eksempel.com, der er en rekord, der peger på denne IP.
VPS kører Ubuntu 18.04 LTS-serverudgave og følgende konfigurationer udføres som rodbruger.

Trin 1: Installation af Caddy-webserveren

Caddy er skrevet i Go og kan køre som en selvstændig eksekverbar binær. Der er dog forskellige plugins, som du kan bygge ind i det til specifikke DNS-servere osv. Vi installerer almindeligt binært uden noget plugin, så det fungerer på tværs af alle tilpasninger.

For at få din binære besøg deres officielle downloadside og vælg alle de plugins og telemetri, du har brug for. Nedenfor vil der være en bash-kommando til at downloade og placere caddy-server binær på det rigtige sted. Som root-bruger skal du køre:

$ curl https: // getcaddy.com | bash -s personlige

Når det er gjort, kan vi finde den binære ved at køre:

$ hvor er caddie
caddy: / ​​usr / local / bin / caddy

Hvis du nogensinde har brug for at fjerne serveren eller opdatere den med en nyere eksekverbar, ved du nu, hvor du skal se.

Trin 2: Test dit websted

Hvis du ikke har et websted, skal du bare oprette en tom mappe og køre kommandoerne derinde. Du får muligvis en fejl 404 i din browser, men serveropsætningen kan stadig testes. Hvis du har et websted, der krydser til det bibliotek, hvor dit webroot findes. Som et typisk eksempel vælger jeg / var / www / mit websted som et eksempel med følgende indeks.html gemt inde i den.

/ var / www / mysite / index.html



Denne side serveres af Caddy Server


Denne side serveres af Caddy Server


Dette er et afsnit.



Dette er nok til at komme os i gang. Nu i samme bibliotek som dette indeks.html-side, kør følgende kommando:

$ caddy
Aktivering af privatlivsfunktioner ... færdig.
http: //: 2015

ADVARSEL: Filbeskrivelsesgrænse 1024 er for lav til produktionsservere. Mindst 8192 anbefales. Fix med 'ulimit -n 8192'.

Lad caddie køre i denne tilstand.

Du kan gå til din servers offentlige IP på portnummer 2015 for at teste dette: http: // 10.20.30.40: 2015 skal du sørge for, at din firewall ikke blokerer denne port.

Og du vil se dette indeks.html serveres automatisk. Dette følger den ældgamle konvention om, at ethvert websteds første side hedder indeks, som de fleste webservere som Nginx, Apache og endda Caddy serverer som den første side, selv når du ikke angiver denne side ved hjælp af / index.html i slutningen af ​​URL'en.

Trin 3: Opsætning af HTTPS

Nu hvor du har bekræftet, at dit websted virkelig fungerer med Caddy og kan serveres med det, er det tid til at konfigurere HTTPS. For at gøre dette kan du bruge kommandolinjegrænsefladen eller bruge en konfigurationsfil kaldet Caddyfile. Vi bruger først kommandolinjen.

Kør følgende kommando i samme bibliotek som dit websted:

$ caddy -host-underdomæne.eksempel.com
## For første gang beder den dig om din e-mail-adresse, så du kan få
meddelelse om fornyelse af certifikat fra LetsEncrypt

Produktion:

Aktiverer privatlivsfunktioner ..
Dine websteder serveres automatisk via HTTPS ved hjælp af Let's Encrypt.
Ved at fortsætte accepterer du Let's Encrypt Subscriber Agreement på:
https: // letsencrypt.org / dokumenter / LE-SA-v1.2. november-15-2017.pdf
Indtast din e-mail-adresse for at underskrive aftale og for at blive underrettet
i tilfælde af problemer. Du kan lade det være tomt, men vi anbefaler det ikke.
E-mail-adresse: [email protected]
..

Det er det! Dit websted er nu i gang. Du kan besøge underdomæne.eksempel.com, og det omdirigeres automatisk til HTTPS uden noget brugerdefineret portnummer eller andre nuancer.

Det er så let! Du kan CTRL + C for at stoppe serveren, næste gang det genbruger dette certifikat.

Trin 4: Skriv din Caddyfile

Ovenstående metode er god til eksperimentelle tilfælde, hvor du bare tester vandet. Men hvis du vil have en kørende webserver som baggrundsproces, skal du skrive en Caddyfile og fortælle webserveren at bruge denne konfiguration til at køre din server.

Dette er det enkleste eksempel på det samme websted, som vi hostede ovenfor:

underdomæne.eksempel.com
root / var / www / mysite

Roddirektivet fortæller webserveren, hvor hjemmesiden er placeret. Du kan ikke komme ud af denne mappe fra klientsiden. Det er generelt en god ide at placere din caddie-fil hvor som helst, men inde i denne webroot. Du kan placere den i / etc / mappen eller dit hjemmekatalog. For eksempel, hvis filen oprettes på / etc / Caddyfile, kan du bede serveren om at bruge denne konfiguration ved at køre kommandoen:

$ caddy -conf / etc / Caddyfile

Der er flere direktiver, som du kan bruge til at finjustere din server. Du kan aktivere logning, komprimering, omvendt proxy osv. Den officielle dokumentation er et godt sted at begynde at lede efter direktiver relateret til din brugssag. Her er et andet eksempel, hvor der serveres to websteder med to forskellige domænenavne:

underdomæne.eksempel.com
root / var / www / mysite

underdomæne2.eksempel.com
root / var / www / mysite2
gzip
log ... / adgang.log

Direktivet gzip muliggør komprimering, hvis klienten understøtter det. Dette forbedrer ydeevnen, da flere data kan sendes over båndbredden og det samme tidsinterval. Logføring hjælper med fejlretning og styring af netværksaktivitet.

Konklusion

Den største styrke ved Caddy-webserver er dens nemme at skrive og læse konfigurationsfil og dens fleksibilitet på tværs af flere platforme. På grund af sin underlige licensering er serveren imidlertid ikke strengt open source. Kildekoden er open source, og du kan helt kompilere den selv og bruge den resulterende eksekverbare, men den binære, du modtager fra det officielle websted, er ikke beregnet til brug til kommercielle formål uden ordentlig licens.

Dette bringer os tilbage til spørgsmålet om komplikationer, hvor vi i stedet for at håndtere bare konfigurationsfiler også skal håndtere kildekodekompilering, der besejrer formålet med nem at bruge webserver. Fortæl os, hvis du har nogen tanker om Caddy, og hvis nogen af ​​dine websteder kører oven på det.

Mus Styr og administrer musebevægelse mellem flere skærme i Windows 10
Styr og administrer musebevægelse mellem flere skærme i Windows 10
Dual Display Mouse Manager lader dig kontrollere og konfigurere musebevægelse mellem flere skærme ved at bremse dens bevægelser nær grænsen. Windows 1...
Mus WinMouse giver dig mulighed for at tilpasse og forbedre musemarkørens bevægelse på Windows-pc
WinMouse giver dig mulighed for at tilpasse og forbedre musemarkørens bevægelse på Windows-pc
Hvis du vil forbedre standardfunktionerne for din musemarkør, skal du bruge freeware WinMouse. Det tilføjer flere funktioner, der hjælper dig med at f...
Mus Museklik på venstre museknap fungerer ikke på Windows 10
Museklik på venstre museknap fungerer ikke på Windows 10
Hvis du bruger en dedikeret mus med din bærbare computer eller stationære computer, men musens venstre-klik-knap fungerer ikke på Windows 10/8/7 af en...