Caddie

Caddy Server unter Ubuntu installieren

Caddy Server unter Ubuntu installieren
TLS ist wichtig für alle Websites und Web-Apps da draußen. Wenn es eine App gibt, die HTTP verwendet oder E-Mails verwendet, benötigt sie TLS. TLS gewährleistet Datenschutz, Integrität und Authentizität Ihrer Inhalte. Mit kostenlosen TLS-Zertifizierungsstellen wie Let's Encrypt und CloudFlare wird TLS eher zur Norm als zum Sonderfall.Das Einschalten von TLS ist jedoch oft ein massiv komplizierter Prozess. Es hat auch massive Sicherheitsauswirkungen, wenn die Konfigurationen falsch gehandhabt werden oder Gott behüte, dass Sie versehentlich Ihren privaten TLS-Schlüssel verlieren. Um einige dieser Risiken zu mindern und auch unser Leben viel einfacher zu machen, gibt es einen neuen Webserver in der Stadt. Caddy spricht HTTP/2 und ist standardmäßig mit TLS aktiviert. Dies bedeutet, dass Sie keine HTTP-zu-HTTPS-Weiterleitungen manuell einrichten oder sich um eine Gallizion-Verschlüsselungssammlung kümmern müssen, die Sie noch nie zuvor gesehen haben.

Mit dem Caddy-Webserver erhalten Sie HTTPS oder nichts. Sehen wir uns also an, wie Sie Caddy unter Ubuntu installieren und für die Bereitstellung Ihrer Web-App konfigurieren können. Wir werden unsere TLS-Zertifikate von LetsEncrypt beziehen.

Einrichten

Angenommen, Sie haben einen VPS mit der IP-Adresse: 10.20.30.40 und eine FQDN-Subdomain.Beispiel.com wer ist Ein Datensatz zeigt auf diese IP.
Auf dem VPS läuft Ubuntu 18.04 LTS-Server-Edition und die folgenden Konfigurationen werden als Root-Benutzer durchgeführt.

Schritt 1: Installation des Caddy-Webservers

Caddy ist in Go geschrieben und kann als eigenständige ausführbare Binärdatei ausgeführt werden. Es gibt jedoch verschiedene Plugins, die Sie für bestimmte DNS-Server usw. einbauen können. Wir werden die einfache Binärdatei ohne Plugin installieren, damit sie bei allen Anpassungen funktioniert.

Um Ihre Binärdatei zu erhalten, besuchen Sie die offizielle Download-Seite und wählen Sie alle Plugins und Telemetrie aus, die Sie benötigen. Darunter befindet sich ein Bash-Befehl zum Herunterladen und Platzieren der Caddy-Server-Binärdatei an der richtigen Stelle. Führen Sie als Root-Benutzer Folgendes aus:

$ curl https://getcaddy.com | bash -s persönlich

Sobald dies erledigt ist, können wir die Binärdatei finden, indem wir Folgendes ausführen:

$ wo ist caddy
Caddie: /usr/local/bin/caddy

Wenn Sie den Server jemals entfernen oder mit einer neueren ausführbaren Datei aktualisieren müssen, wissen Sie jetzt, wo Sie suchen müssen.

Schritt 2: Testen Sie Ihre Website

Wenn Sie keine Website haben, erstellen Sie einfach einen leeren Ordner und führen Sie die Befehle darin aus. Möglicherweise erhalten Sie einen Fehler 404 in Ihrem Browser, aber das Server-Setup kann noch getestet werden. Wenn Sie eine Website haben, gehen Sie in das Verzeichnis, in dem sich das Webroot Ihrer Website befindet. Als typisches Beispiel wähle ich die /var/www/mysite als Beispiel mit folgendem Index.html darin gespeichert.

/var/www/mysite/index.html



Diese Seite wird von Caddy Server verwaltet


Diese Seite wird von Caddy Server verwaltet


Dies ist ein Absatz.



Das reicht uns für den Anfang. Jetzt im selben Verzeichnis wie dieser Index.html-Seite, führen Sie den folgenden Befehl aus:

$ Caddy
Datenschutzfunktionen aktivieren… fertig.
http://:2015

WARNUNG: Das Dateideskriptor-Limit 1024 ist für Produktionsserver zu niedrig. Mindestens 8192 wird empfohlen. Fix mit 'ulimit -n 8192'.

Lassen Sie den Caddy in diesem Zustand laufen.

Sie können die öffentliche IP Ihres Servers unter Portnummer 2015 aufrufen, um dies zu testen: http://10.20.30.40:2015 Stellen Sie sicher, dass Ihre Firewall diesen Port nicht blockiert.

Und Sie werden diesen Index sehen.html wird automatisch bereitgestellt. Dies folgt der uralten Konvention, dass die erste Seite jeder Website index genannt wird, die die meisten Webserver wie Nginx, Apache und sogar Caddy als erste Seite bereitstellen, selbst wenn Sie diese Seite nicht mit /index . angeben.html am Ende der URL.

Schritt 3: HTTPS einrichten

Nachdem Sie nun bestätigt haben, dass Ihre Website tatsächlich mit Caddy funktioniert und damit bedient werden kann, ist es an der Zeit, HTTPS einzurichten. Dazu können Sie die Befehlszeilenschnittstelle verwenden oder eine Konfigurationsdatei namens Caddyfile verwenden. Wir werden zuerst die Befehlszeile verwenden.

Führen Sie im selben Verzeichnis wie Ihre Website den folgenden Befehl aus:

$ caddy -host-Subdomain.Beispiel.com
## Zum ersten Mal werden Sie nach Ihrer E-Mail-Adresse gefragt, damit Sie
Benachrichtigung zur Zertifikatserneuerung von LetsEncrypt

Ausgabe:

Datenschutzfunktionen aktivieren…
Ihre Websites werden mit Let's Encrypt automatisch über HTTPS bereitgestellt.
Indem Sie fortfahren, stimmen Sie der Abonnentenvereinbarung von Let's Encrypt zu:
https://letsencrypt.org/dokumente/LE-SA-v1.2-November-15-2017.pdf
Bitte geben Sie Ihre E-Mail-Adresse ein, um die Zustimmung zu bestätigen und benachrichtigt zu werden
bei Problemen. Sie können es leer lassen, aber wir empfehlen es nicht.
E-Mail-Adresse: [email protected]

Das ist es! Ihre Website ist jetzt online. Sie können die Subdomain besuchen.Beispiel.com und es wird automatisch zu HTTPS umgeleitet, ohne eine benutzerdefinierte Portnummer oder andere Nuancen.

So einfach geht's! Mit STRG+C können Sie den Server stoppen. Beim nächsten Mal wird nur dieses Zertifikat wiederverwendet.

Schritt 4: Schreiben Sie Ihr Caddyfile

Die obige Methode eignet sich gut für experimentelle Anwendungsfälle, bei denen Sie nur das Wasser testen. Wenn Sie jedoch einen laufenden Webserver als Hintergrundprozess wünschen, müssen Sie ein Caddyfile schreiben und dem Webserver mitteilen, dass er diese Konfiguration zum Ausführen Ihres Servers verwenden soll.

Dies ist das einfachste Beispiel für dieselbe Website, die wir oben gehostet haben:

Subdomain.Beispiel.com
root /var/www/mysite

Die Root-Direktive teilt dem Webserver mit, wo sich die Website befindet. Sie können dieses Verzeichnis von der Clientseite nicht verlassen. Es ist im Allgemeinen eine gute Idee, Ihre Caddy-Datei an einem anderen Ort als in diesem Webroot zu platzieren. Sie können es im Ordner /etc/ oder Ihrem Home-Verzeichnis ablegen. Wenn die Datei beispielsweise unter /etc/Caddyfile erstellt wird, können Sie den Server anweisen, diese Konfiguration zu verwenden, indem Sie den folgenden Befehl ausführen:

$ caddy -conf /etc/Caddyfile

Es gibt mehrere Anweisungen, mit denen Sie Ihren Server feinabstimmen können. Sie können Protokollierung, Komprimierung, Reverse-Proxy usw. aktivieren. Die offizielle Dokumentation ist ein guter Ausgangspunkt, um nach Richtlinien zu Ihrem Anwendungsfall zu suchen. Hier ist ein weiteres Beispiel, bei dem zwei Websites mit zwei unterschiedlichen Domainnamen bedient werden:

Subdomain.Beispiel.com
root /var/www/mysite

Unterdomäne2.Beispiel.com
root /var/www/mysite2
gzip
log… /Zugriff.Log

Die Direktive gzip aktiviert die Komprimierung, wenn der Client dies unterstützt. Dies verbessert die Leistung, da mehr Daten über die Bandbreite und das gleiche Zeitintervall gesendet werden können. Die Protokollierung hilft beim Debuggen und Verfolgen der Netzwerkaktivität.

Fazit

Die größte Stärke des Caddy-Webservers ist seine einfach zu schreibende und zu lesende Konfigurationsdatei und seine Flexibilität über mehrere Plattformen hinweg. Aufgrund seiner seltsamen Lizenzierung ist der Server jedoch nicht strikt Open Source. Der Quellcode ist Open Source, und Sie können ihn vollständig selbst kompilieren und die resultierende ausführbare Datei verwenden, aber die Binärdatei, die Sie von der offiziellen Website erhalten, ist nicht für kommerzielle Zwecke ohne entsprechende Lizenz gedacht.

Dies bringt uns zurück zum Problem der Komplikationen, bei denen wir uns nicht nur mit Konfigurationsdateien beschäftigen müssen, sondern auch mit der Kompilierung des Quellcodes, die den Zweck eines einfach zu bedienenden Webservers zunichte machen. Lassen Sie es uns wissen, wenn Sie irgendwelche Gedanken zu Caddy haben und ob eine Ihrer Websites darüber läuft.

Fügen Sie mit diesen kostenlosen Tools Mausgesten zu Windows 10 hinzu
In den letzten Jahren haben sich Computer und Betriebssysteme stark weiterentwickelt. Es gab eine Zeit, in der Benutzer Befehle verwenden mussten, um ...
Steuern und verwalten Sie Mausbewegungen zwischen mehreren Monitoren in Windows 10
Dual-Display-Maus-Manager lässt Sie die Mausbewegung zwischen mehreren Monitoren steuern und konfigurieren, indem Sie ihre Bewegungen in der Nähe der ...
Mit WinMouse können Sie die Mauszeigerbewegung auf einem Windows-PC anpassen und verbessern improve
Wenn Sie die Standardfunktionen Ihres Mauszeigers verbessern möchten, verwenden Sie Freeware WinMouse. Es fügt weitere Funktionen hinzu, damit Sie das...