Caddy Webserver und die Aktivierung von HTTP/3 - Eine Anleitung zur Konfiguration inklusive der UFW-Firewall

Der Caddy Webserver hat sich in den letzten Jahren als eine der beliebtesten Wahlmöglichkeiten für moderne Webanwendungen etabliert. Besonders hervorzuheben ist die Unterstützung für moderne Webprotokolle wie HTTP/3, das eine verbesserte Performance und Sicherheit gegenüber seinen Vorgängern bietet. In diesem Bericht wird erläutert, wie HTTP/3 auf einem Caddy Webserver aktiviert werden kann und wie man die UFW (Uncomplicated Firewall) korrekt konfiguriert, um auch UDP Quick zu ermöglichen, das für HTTP/3 erforderlich ist.

Was ist HTTP/3 und warum ist es wichtig?

HTTP/3 ist das neueste HTTP-Protokoll, das auf QUIC (Quick UDP Internet Connections) basiert, einer von Google entwickelten Technologie. QUIC wurde entwickelt, um die Leistung von HTTP-Verbindungen zu optimieren, insbesondere bei schlechten Netzwerkbedingungen oder bei der Nutzung von Mobilgeräten. Es bietet:

  • Schnellere Ladezeiten: Durch die Minimierung von Latenz und Verbindungsaufbauzeiten.
  • Verbesserte Sicherheit: Verschlüsselung ist standardmäßig integriert.
  • Robustheit bei Paketverlusten: QUIC stellt sicher, dass eine Verbindung auch bei Datenverlust stabil bleibt.

Mit HTTP/3 können Websites also schneller und sicherer geladen werden, was für eine optimale Nutzererfahrung sorgt.

Voraussetzungen

Bevor HTTP/3 auf einem Caddy Webserver aktiviert werden kann, müssen einige grundlegende Voraussetzungen erfüllt sein:

  1. Caddy Version: Die Version von Caddy muss mindestens v2.6.0 sein, da erst ab dieser Version HTTP/3 unterstützt wird.
  2. Aktiviertes HTTPS: Caddy verwendet für HTTP/3 das TLS-Protokoll, also muss die Website über HTTPS erreichbar sein.
  3. Unterstützung von QUIC: Da HTTP/3 auf QUIC basiert, muss der Caddy Webserver auch die QUIC-Technologie unterstützen.

Aktivierung von HTTP/3 im Caddy Webserver

Um HTTP/3 in Caddy zu aktivieren, müssen folgende Schritte durchgeführt werden:

  1. Installation von Caddy: Wenn Caddy noch nicht installiert ist, kann dies mit den folgenden Befehlen erfolgen:
  • Auf Ubuntu/Debian:
sudo apt update  
sudo apt install caddy
  1. Konfiguration von Caddy: Die HTTP/3-Unterstützung ist in Caddy standardmäßig aktiviert, wenn TLS verwendet wird. Der nächste Schritt ist die Konfiguration der Caddyfile (Caddys Konfigurationsdatei). Stellen Sie sicher, dass die folgende Zeile in Ihrer Caddyfile vorhanden ist:
example.com {  
encode zstd gzip  
reverse\_proxy localhost:8080  
tls {  
protocols tls1.3  
}  
}  

Als globaler Eintrag muss, z.B.:


    servers example.com:443 {
        protocols h1 h2 h3
    }

existieren

Diese Konfiguration sorgt dafür, dass der Server TLS 1.3 verwendet, was die Grundlage für HTTP/3 ist. Caddy konfiguriert dann automatisch HTTP/3, wenn der Server TLS 1.3 unterstützt.

  1. Neustarten von Caddy: Nachdem Sie die Caddyfile angepasst haben, müssen Sie Caddy neu starten, um die Änderungen zu übernehmen:
sudo systemctl restart caddy  
  1. Überprüfung der HTTP/3-Aktivierung: Um sicherzustellen, dass HTTP/3 tatsächlich aktiviert ist, können Sie Tools wie https://www.pagespeed.de// oder https://http3.wcode.net/ verwenden. Wenn alles korrekt konfiguriert ist, sollte die Seite angeben, dass HTTP/3 aktiv ist. Beim MSG Magazin sieht das so aus:


Konfiguration der UFW-Firewall für UDP und HTTP/3

Da QUIC und somit HTTP/3 auf UDP (User Datagram Protocol) basieren, muss die UFW-Firewall so konfiguriert werden, dass UDP-Verkehr auf den relevanten Ports zugelassen wird. Um sicherzustellen, dass Ihre Caddy-Instanz korrekt auf HTTP/3 zugreifen kann, sind die folgenden Schritte zur Konfiguration der UFW notwendig.

  1. Zulassen von TCP und UDP für Ports 80 und 443: HTTP/3 nutzt UDP auf Port 443. Sie müssen sowohl TCP als auch UDP auf den Standardports 80 (HTTP) und 443 (HTTPS) zulassen. Geben Sie dafür die folgenden Befehle ein:
sudo ufw allow 80/tcp  
sudo ufw allow 443/tcp  
sudo ufw allow 443/udp  
  1. Zulassen von UDP für QUIC: QUIC verwendet ebenfalls UDP auf Port 443. Um sicherzustellen, dass QUIC korrekt funktioniert, muss UDP auf Port 443 freigegeben werden. Dies geschieht mit dem folgenden Befehl:
sudo ufw allow 443/udp  
  1. Überprüfen der UFW-Konfiguration: Nachdem Sie diese Regeln hinzugefügt haben, können Sie mit folgendem Befehl prüfen, ob die Änderungen korrekt übernommen wurden:
sudo ufw status  

Die Ausgabe sollte sicherstellen, dass UDP-Verkehr auf Port 443 erlaubt ist und Ihre Webserver-Ports freigegeben wurden.

  1. Aktivierung von UFW: Falls UFW noch nicht aktiviert ist, können Sie dies mit folgendem Befehl tun:
sudo ufw enable  

Stellen Sie sicher, dass alle benötigten Ports freigegeben sind, um die reibungslose Nutzung von HTTP/3 zu ermöglichen.

Fazit

Mit der Einführung von HTTP/3 und QUIC auf Caddy Webservern können Webseitenbetreiber eine spürbare Leistungssteigerung und verbesserte Sicherheit für ihre Webseiten erreichen. Durch die oben beschriebene Konfiguration und die Integration der UFW-Firewall können Sie sicherstellen, dass Ihre Webanwendung auf dem neuesten Stand der Technik ist und optimal mit den modernen Webprotokollen funktioniert.

Die Konfiguration von Caddy und der UFW-Firewall ist ein einfach umsetzbarer Prozess, der bei richtiger Durchführung zu einer deutlich besseren Nutzererfahrung führt – insbesondere bei langsamen oder instabilen Netzwerken.

Bildrechte: Bild MSG Magazin Redaktion

 Werbung