Caddy

Caddy Server installeren op Ubuntu

Caddy Server installeren op Ubuntu
TLS is belangrijk voor alle websites en web-apps die er zijn. Als er een app is die HTTP gebruikt of e-mailt, heeft deze TLS nodig. TLS zorgt voor privacy, integriteit en authenticiteit van uw inhoud. Met gratis TLS-certificaatautoriteiten zoals Let's Encrypt en CloudFlare wordt TLS meer een norm dan een speciaal geval.Het inschakelen van TLS is echter vaak een enorm ingewikkeld proces. Het heeft ook enorme beveiligingsgevolgen, als de configuraties verkeerd worden gebruikt, of de hemel verhoede, lekt u per ongeluk uw privé-TLS-sleutel. Om sommige van deze risico's te verminderen en ook om ons leven veel gemakkelijker te maken, is er een nieuwe webserver in de stad. Caddy spreekt HTTP/2 en wordt standaard geleverd met TLS ingeschakeld. Dit betekent dat je niet handmatig HTTP-naar-HTTPS-omleidingen hoeft in te stellen of je zorgen hoeft te maken over een gallizion-coderingssuite die je nog nooit eerder hebt gezien.

Met Caddy-webserver krijg je HTTPS of niets. Laten we dus eens kijken hoe u Caddy op Ubuntu kunt installeren en configureren om uw web-app te bedienen. We krijgen onze TLS-certificaten van LetsEncrypt.

Opstelling

Stel je hebt een VPS met IP-adres: 10.20.30.40 en een FQDN-subdomein.voorbeeld.com wie is Een record wijst naar dit IP.
De VPS draait Ubuntu 18.04 LTS-servereditie en de volgende configuraties worden gedaan als de rootgebruiker.

Stap 1: De Caddy-webserver installeren

Caddy is geschreven in Go en kan worden uitgevoerd als een zelfstandig uitvoerbaar binair bestand. Er zijn echter verschillende plug-ins die u erin kunt inbouwen voor specifieke DNS-servers, enz. We zullen het gewone binaire bestand installeren zonder enige plug-in, dus het werkt voor alle aanpassingen.

Om uw binaire bestand te krijgen, gaat u naar hun officiële downloadpagina en selecteert u alle plug-ins en telemetrie die u nodig heeft. Hieronder staat een bash-opdracht om het binaire bestand van de caddy-server op de juiste locatie te downloaden en te plaatsen. Voer als rootgebruiker uit:

$ krul https://getcaddy.com | bash -s persoonlijk

Zodra dat is gebeurd, kunnen we het binaire bestand lokaliseren door het volgende uit te voeren:

$ waar is caddy
caddy: /usr/local/bin/caddy

Als u ooit de server moet verwijderen of bijwerken met een nieuwer uitvoerbaar bestand, weet u nu waar u moet zoeken.

Stap 2: Uw website testen

Als je geen website hebt, maak dan gewoon een lege map en voer de opdrachten daarin uit. U krijgt mogelijk een Error 404 in uw browser, maar de serverconfiguratie kan nog steeds worden getest. Als u een website heeft, gaat u naar de map waar de webroot van uw website zich bevindt:. Als typisch voorbeeld selecteer ik de /var/www/mijnsite als voorbeeld met de volgende index.html erin opgeslagen.

/var/www/mijnsite/index.html



Deze pagina wordt beheerd door Caddy Server


Deze pagina wordt beheerd door Caddy Server


Dit is een alinea.



Dit is genoeg om ons op weg te helpen. Nu in dezelfde map als deze index.html-pagina, voer je de volgende opdracht uit:

$ caddie
Privacyfuncties activeren... klaar.
http://:2015

WAARSCHUWING: Bestandsdescriptorlimiet 1024 is te laag voor productieservers. Ten minste 8192 wordt aanbevolen. Fix met 'ulimit -n 8192'.

Laat de caddy in deze staat draaien.

U kunt naar het openbare IP-adres van uw server gaan op poortnummer 2015 om dit te testen: http://10.20.30.40:2015 zorg ervoor dat uw firewall deze poort niet blokkeert.

En je zult die index zien.html wordt automatisch weergegeven. Dit volgt de eeuwenoude conventie dat de eerste pagina van een website index wordt genoemd, die de meeste webservers zoals Nginx, Apache en zelfs Caddy als de eerste pagina dienen, zelfs als je deze pagina niet opgeeft met /index.html aan het einde van de URL.

Stap 3: HTTPS instellen

Nu je hebt bevestigd dat je website inderdaad met Caddy werkt en ermee kan worden bediend, is het tijd om HTTPS in te stellen. Om dit te doen, kunt u de opdrachtregelinterface gebruiken of een configuratiebestand gebruiken met de naam Caddyfile. We zullen eerst de opdrachtregel gebruiken.

Voer de volgende opdracht uit in dezelfde map als uw website:

$ caddy -host subdomein.voorbeeld.com
## Voor de eerste keer zal het je om je e-mailadres vragen, zodat je kunt krijgen
kennisgeving van certificaatvernieuwing van LetsEncrypt

Uitgang:

Privacyfuncties activeren…
Uw sites worden automatisch via HTTPS weergegeven met behulp van Let's Encrypt.
Door verder te gaan, gaat u akkoord met de Let's Encrypt Abonneeovereenkomst op:
https://letsencrypt.org/documents/LE-SA-v1.2-nov-15-2017.pdf
Voer uw e-mailadres in om akkoord te gaan en om op de hoogte te worden gehouden
in geval van problemen. Je kunt het leeg laten, maar we raden het niet aan.
E-mailadres: [e-mail beveiligd]

Dat is het! Je website is nu in de lucht. U kunt het subdomein bezoeken.voorbeeld.com en het wordt automatisch doorgestuurd naar HTTPS zonder aangepast poortnummer of andere nuances.

Zo makkelijk is het! U kunt CTRL+C gebruiken om de server te stoppen, de volgende keer zal deze dit certificaat gewoon opnieuw gebruiken.

Stap 4: Uw Caddy-bestand schrijven

De bovenstaande methode is goed voor experimentele gebruikssituaties waarbij u alleen het water aan het testen bent. Maar als u een actieve webserver als achtergrondproces wilt, moet u een Caddy-bestand schrijven en de webserver vertellen om deze configuratie te gebruiken om uw server te laten draaien.

Dit is het eenvoudigste voorbeeld voor dezelfde website die we hierboven hebben gehost:

subdomein.voorbeeld.com
root /var/www/mijnsite

De root-richtlijn vertelt de webserver waar de website zich bevindt. U kunt deze map niet verlaten vanaf de clientzijde. Het is over het algemeen een goed idee om uw caddiebestand overal te plaatsen, behalve in deze webroot. Je kunt het in de /etc/ map of je home directory plaatsen. Als het bestand bijvoorbeeld is gemaakt in /etc/Caddyfile, kunt u de server vertellen deze configuratie te gebruiken door de opdracht uit te voeren:

$ caddy -conf /etc/Caddyfile

Er zijn meerdere richtlijnen die u kunt gebruiken om uw server te verfijnen. U kunt logboekregistratie, compressie, reverse proxy, enz. inschakelen. De officiële documentatie is een goede plek om te beginnen met het zoeken naar richtlijnen met betrekking tot uw use case. Hier is nog een voorbeeld waarbij twee websites met twee verschillende domeinnamen worden bediend:

subdomein.voorbeeld.com
root /var/www/mijnsite

subdomein2.voorbeeld.com
root /var/www/mijnsite2
gzip
log… /toegang.log

De richtlijn gzip maakt compressie mogelijk, als de client dit ondersteunt. Dit verbetert de prestaties omdat er meer gegevens over de bandbreedte en hetzelfde tijdsinterval kunnen worden verzonden. Loggen helpt bij het debuggen en bijhouden van netwerkactiviteit.

Conclusie

De grootste kracht van de Caddy-webserver is het gemakkelijk te schrijven en te lezen configuratiebestand en de flexibiliteit op meerdere platforms. Vanwege de vreemde licenties is de server echter niet strikt open source. De broncode is open source en u kunt deze volledig zelf compileren en het resulterende uitvoerbare bestand gebruiken, maar het binaire bestand dat u van de officiële site ontvangt, is niet bedoeld voor gebruik voor commerciële doeleinden zonder de juiste licentie.

Dit brengt ons terug bij de kwestie van complicaties, waar we in plaats van alleen met configuratiebestanden te maken hebben, ook te maken hebben met de compilatie van de broncode die het doel van een gebruiksvriendelijke webserver verslaat. Laat het ons weten als je ideeën hebt over Caddy en of een van je websites daarop draait.

Beste gameconsole-emulators voor Linux
Dit artikel bevat een lijst van populaire emulatiesoftware voor gameconsoles die beschikbaar is voor Linux. Emulatie is een softwarecompatibiliteitsla...
Beste Linux-distributies voor gaming in 2021
Het Linux-besturingssysteem heeft een lange weg afgelegd van zijn oorspronkelijke, eenvoudige, servergebaseerde uiterlijk. Dit besturingssysteem is de...
Hoe u uw gamesessie op Linux kunt vastleggen en streamen
In het verleden werd het spelen van games alleen als een hobby beschouwd, maar met de tijd zag de game-industrie een enorme groei in termen van techno...