Installieren Sie den Caddy -Server auf Ubuntu

Installieren Sie den Caddy -Server auf Ubuntu
TLS ist wichtig für alle Websites und Web -Apps da draußen. Wenn es eine App gibt, die HTTP verwendet oder eine E -Mail anbietet, benötigt sie TLS. TLS sorgt für Privatsphäre, Integrität und Authentizität Ihrer Inhalte. Mit kostenlosen TLS -Zertifikatbehörden wie Let's Encrypt und CloudFlare verwandelt sich TLS eher in eine Norm als in einen Sonderfall.Das Einschalten von TLS ist jedoch häufig ein massiv komplizierter Prozess. Es hat auch massive Sicherheitsauswirkungen, wenn die Konfigurationen misshandelt werden oder der Himmel verbietet, Sie versehentlich Ihren privaten TLS -Schlüssel austauschen. Um einige dieser Risiken zu mildern und unser Leben viel einfacher zu machen, gibt es einen neuen Webserver in der Stadt. Caddy spricht HTTP/2 und es wird mit TLS ausgeliefert. Dies bedeutet, dass Sie HTTP nicht manuell auf HTTPS -Weiterleitungen einrichten oder sich um eine Gallizion -Chiffre -Suiten sorgen müssen, die Sie noch nie zuvor gesehen haben.

Mit Caddy Web Server erhalten Sie HTTPS oder nichts. Sehen wir uns also an, wie Sie Caddy auf Ubuntu installieren und so konfigurieren können. Wir werden unsere TLS -Zertifikate von LetSencrypt erhalten.

Aufstellen

Angenommen, Sie haben ein VPS mit IP -Adresse: 10.20.30.40 und eine FQDN -Subdomain.Beispiel.com wer ein Rekord zeigt auf diese IP.
Das VPS leitet Ubuntu 18.04 LTS Server Edition und folgende Konfigurationen werden als Stammbenutzer durchgeführt.

Schritt 1: Installieren 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ärdauer ohne Plugin installieren, damit es über alle Anpassungen hinweg funktioniert.

Um Ihre binäre Binäranlage auf der offiziellen Download -Seite zu besuchen und alle Plugins und Telemetrie auszuwählen, die Sie benötigen. Unten befindet sich ein Bash -Befehl zum Herunterladen und Platzieren des Caddy -Servers Binary an der richtigen Stelle. Als Root -Benutzer führen Sie aus:

$ curl https: // getCaddy.com | Bash -s persönlich

Sobald dies erledigt ist, können wir die Binärdatei durch Laufen lokalisieren:

$ wobei Caddy
Caddy:/usr/local/bin/caddy

Wenn Sie jemals den Server 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 dort aus. Sie können einen Fehler 404 in Ihrem Browser erhalten, aber das Server -Setup kann weiterhin getestet werden. Wenn Sie eine Website haben, um das Verzeichnis zu überqueren, in dem sich das Webroot Ihrer Website befindet. Als typisches Beispiel werde ich die auswählen /var/www/mysite als Beispiel mit dem folgenden Index.HTML war darin gespeichert.

/var/www/mySite/Index.html



Diese Seite wird vom Caddy -Server seriendiert


Diese Seite wird vom Caddy -Server seriendiert


Dies ist ein Absatz.



Dies reicht aus, um uns anzufangen. Jetzt im selben Verzeichnis wie dieser Index.HTML -Seite führen Sie das folgende Kommad aus:

$ caddy
Datenschutzfunktionen aktivieren… erledigt.
http: //: 2015

WARNUNG: Dateideskriptorlimit 1024 ist für Produktionsserver zu niedrig. Mindestens 8192 werden empfohlen. Fix mit 'Ulimit -n 8192'.

Lassen Sie Caddy in diesem Zustand rennen.

Sie können zur öffentlichen IP Ihres Servers unter Portnummer 2015 gehen, 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 serviert. Dies folgt der alten Konvention, dass die erste Seite einer Website mit dem Index heißt.HTML am Ende der URL.

Schritt 3: HTTPS einrichten

Nachdem Sie bestätigt haben, dass Ihre Website tatsächlich mit Caddy zusammenarbeitet und damit bedient werden kann, ist es 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 erhalten können
Erneuerung der Zertifikatverlängerung von LetSencrypt

Ausgang:

Datenschutzfunktionen aktivieren…
Ihre Websites werden über HTTPS automatisch mit Let's Encrypt serviert.
Wenn Sie fortfahren, stimmen Sie der Let's Encrypt -Abonnentenvereinbarung zu:
https: // letsencrypt.org/dokumente/le-sav1.2-November-15.-2017.PDF
Bitte geben Sie Ihre E -Mail -Adresse ein, um eine Vereinbarung zu bezeichnen und benachrichtigt zu werden
in Fragen. Sie können es leer lassen, aber wir empfehlen es nicht.
E -Mail -Adresse: [email protected]

Das ist es! Ihre Website ist jetzt in Betrieb. Sie können Subdomain besuchen.Beispiel.com und es werden automatisch ohne benutzerdefinierte Portnummer oder andere Nuancen auf HTTPS weitergeleitet.

Es ist so einfach! Sie können Strg+C, um den Server zu stoppen.

Schritt 4: Schreiben Sie Ihre Caddyfile

Die obige Methode ist gut für experimentelle Anwendungsfälle, in denen Sie gerade das Wasser testen. Wenn Sie jedoch einen laufenden Webserver als Hintergrundvorgang möchten, müssen Sie eine CADDYFILE schreiben und dem Webserver anweisen, diese Konfiguration zu verwenden, um Ihren Server auszuführen.

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

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

Die Root -Anweisung teilt dem Webserver mit, wo sich die Website befindet. Sie können dieses Verzeichnis nicht von der Kundenseite verlassen. Es ist im Allgemeinen eine gute Idee, Ihre Caddy -Datei überall in dieses Webroot zu legen. Sie können es in / etc / order oder in Ihrem Heimverzeichnis platzieren. Wenn die Datei beispielsweise bei /etc /caddyFile erstellt wird, können Sie dem Server anweisen, diese Konfiguration zu verwenden, indem Sie den Befehl ausführen:

$ caddy -conf /etc /caddyfile

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

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

Subdomain2.Beispiel.com
root/var/www/mySite2
gzip
Protokoll… /Zugriff.Protokoll

Die Richtlinie GZIP ermöglicht eine Komprimierung, wenn der Client es unterstützt. Dies verbessert die Leistung, da mehr Daten über die Bandbreite und das gleiche Zeitintervall gesendet werden können. Die Protokollierung hilft beim Debugieren und Verfolgen der Netzwerkaktivität.

Abschluss

Die größte Stärke des Caddy -Webservers ist die Konfigurationsdatei und seine Flexibilität auf mehreren Plattform. Aufgrund seiner seltsamen Lizenzierung ist der Server jedoch nicht ausschließlich Open Source. Der Quellcode ist Open Source, und Sie können ihn selbst vollständig kompilieren und die resultierende ausführbare Datei verwenden, aber die Binärdatei, die Sie von der offiziellen Website erhalten.

Dies bringt uns zurück zu dem Problem von Komplikationen, wenn wir uns auch mit der Quellcodekompilation befassen müssen, die den Zweck der einfach zu verwendenden Webserver besiegen, anstatt sich mit nur Konfigurationsdateien auseinanderzusetzen. Lassen Sie uns wissen, ob Sie Gedanken über Caddy haben, und wenn eine Ihrer Websites darüber läuft.