Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
In der modernen Webentwicklung und Serveradministration spielen Reverse Proxies eine zentrale Rolle. Sie ermöglichen es, den Datenverkehr effizient zu verteilen, die Sicherheit zu erhöhen und die Leistung zu optimieren. Caddy hat sich dabei als leistungsstarker und benutzerfreundlicher Reverse Proxy etabliert. In diesem Artikel erfährst du, wie du Caddy als Reverse Proxy mit Docker auf Rocky Linux 9.4 einrichtest und konfigurierst.
Caddy ist ein moderner, Open-Source-Webserver, der sich durch seine Einfachheit und automatische HTTPS-Unterstützung auszeichnet. Im Gegensatz zu traditionellen Webservern wie Apache oder Nginx, bietet Caddy eine intuitive Konfiguration und automatische TLS-Zertifikatsverwaltung. Seit seiner Einführung im Jahr 2015 hat sich Caddy stetig weiterentwickelt und ist heute bei Version 2.x angelangt.
Einige Hauptmerkmale von Caddy sind:
Bevor du mit der Installation und Konfiguration von Caddy beginnst, stelle sicher, dass folgende Voraussetzungen erfüllt sind:
Wenn du Rocky Linux 9.4 noch nicht installiert hast, kannst du es von der offiziellen Website (https://rockylinux.org/) herunterladen und installieren. Wähle bei der Installation die Option „Minimal Install“, um eine schlanke Basis für dein System zu erhalten.
Bevor du mit der Installation von Docker und Caddy beginnst, ist es wichtig, dein System auf den neuesten Stand zu bringen. Öffne dazu ein Terminal und führe folgende Befehle aus:
sudo dnf update -y
sudo dnf upgrade -y
Diese Befehle aktualisieren die Paketlisten und installieren alle verfügbaren Updates für dein System.
Docker ist eine Plattform zur Containerisierung von Anwendungen, die es dir ermöglicht, Caddy in einer isolierten Umgebung zu betreiben. Um Docker auf Rocky Linux 9.4 zu installieren, folge diesen Schritten und füge das offizielle Docker-Repository hinzu:
sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
Installiere Docker und die benötigten Abhängigkeiten:
sudo dnf install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y
Starte den Docker-Dienst und aktiviere ihn für den automatischen Start beim Systemboot:
sudo systemctl start docker
sudo systemctl enable docker
Füge deinen Benutzer zur Docker-Gruppe hinzu, um Docker ohne sudo-Rechte ausführen zu können:
sudo usermod -aG docker $USER
Melde dich nach diesem Schritt ab und wieder an, damit die Gruppenänderungen wirksam werden.
Bevor du Caddy in einem Docker-Container startest, musst du eine Konfigurationsdatei erstellen. Diese Datei, genannt „Caddyfile“, definiert das Verhalten deines Reverse Proxys.
Erstelle ein Verzeichnis für deine Caddy-Konfiguration:
mkdir -p ~/caddy-config
cd ~/caddy-config
Erstelle die Caddyfile mit einem Texteditor deiner Wahl, z.B. nano:
nano Caddyfile
Füge folgenden Inhalt in die Caddyfile ein:
{
email your-email@example.com
}
example.com {
reverse_proxy localhost:8080
}
api.example.com {
reverse_proxy localhost:3000
}
Ersetze "your-email@example.com" durch deine E-Mail-Adresse und "example.com" sowie "api.example.com" durch deine tatsächlichen Domains.
Die reverse_proxy
-Anweisungen leiten den Verkehr an die angegebenen lokalen Ports weiter.
Speichere die Datei und verlasse den Editor (in nano: Strg+X, dann Y, dann Enter).
docker run -d \
--name caddy \
-p 80:80 \
-p 443:443 \
-v $HOME/caddy-config/Caddyfile:/etc/caddy/Caddyfile \
-v caddy_data:/data \
caddy:latest
Dieser Befehl startet einen Caddy-Container mit folgenden Eigenschaften:
Damit dein Caddy Reverse Proxy von außen erreichbar ist, musst du die Firewall entsprechend konfigurieren. Rocky Linux 9.4 verwendet standardmäßig firewalld. Öffne die Ports 80 und 443 mit folgenden Befehlen:
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload
Ersetze "example.com" durch deine tatsächliche Domain. Wenn alles korrekt konfiguriert ist, solltest du eine HTTP 200 OK Antwort erhalten.
Du hast nun erfolgreich Caddy als Reverse Proxy mit Docker auf Rocky Linux 9.4 eingerichtet. Diese Konfiguration bietet dir eine flexible und sichere Möglichkeit, deine Webanwendungen zu verwalten und zu schützen. Caddy kümmert sich automatisch um die SSL/TLS-Verschlüsselung, sodass du dich auf die Entwicklung deiner Anwendungen konzentrieren kannst.
Denk daran, regelmäßig Sicherheitsupdates für Rocky Linux, Docker und Caddy durchzuführen, um dein System auf dem neuesten Stand zu halten.
Mit dieser Einrichtung bist du gut gerüstet, um moderne Webanwendungen zu hosten und zu verwalten.