From 5defc3d129be04f40650b24ab079e16cc846d78b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jesko=20Ansch=C3=BCtz?= Date: Wed, 5 Nov 2025 16:19:09 +0100 Subject: [PATCH] =?UTF-8?q?F=C3=BCr=20R=C3=BCdiger?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Caddy als reverseproxy einrichten.md | 107 +++++++++++++++++++++++++++ 1 file changed, 107 insertions(+) create mode 100644 Caddy als reverseproxy einrichten.md diff --git a/Caddy als reverseproxy einrichten.md b/Caddy als reverseproxy einrichten.md new file mode 100644 index 0000000..4c92962 --- /dev/null +++ b/Caddy als reverseproxy einrichten.md @@ -0,0 +1,107 @@ +# Caddy als reverseproxy einrichten + +# Netzwerk anlegen + +```shellscript +docker network create \ + --driver bridge \ + --ipv6 \ + --subnet 172.31.0.0/16 \ + --subnet fd42:0815:4711:1::/64 \ + reverseproxy_netz +``` + +# Verzeichnisse für Caddy und seine Configs anlegen + +```shellscript +mkdir -p /srv/docker/caddy/config +mkdir -p /srv/docker/caddy/data +``` + +# docker-compose.yml erstellen + +```yaml +services: + caddy: + image: caddy:latest + container_name: caddy + restart: unless-stopped + ports: + - "80:80" + - "443:443" + - "443:443/udp" + volumes: + - ./caddy:/etc/caddy/ + - ./site:/srv + - ./caddy_data:/data + - ./caddy_config:/config + networks: + - reverseproxy_netz + + service1: + image: dein/service1-image + container_name: service1 + networks: + - reverseproxy_netz + + service2: + image: dein/service2-image + container_name: service2 + networks: + - reverseproxy_netz + +networks: + reverseproxy_netz: + external: true + +``` + +# Caddy Config erstellen + +mit deinem Lieblingseditor legst du die Datei `Caddyfile`im config-Verzeichnis an: + +```shellscript +webserver3.fobix.benbex.de { + reverse_proxy meinwebserver1:80 +} + + +``` + +caddy neu starten: `docker compose stop ; docker compose start; docker compse logs -f` + +jetzt wird man beobachten können, wie das Zertifikat erstellt wird. + + + +Wenn es einen Container gibt, der "meinwebserver1" heißt, und der auf Port 80 hört (*expose*) dann wird dieser nach kurzer Zeit unter https://webserver3.fobix.benbex.de erreichbar sein. + +## Server mit Basic-Auth schützen + +du kannst einfach + + + +``` +basicauth { + test $2a$10$oE4MsIokdJzUpS3p.oHPzuncTzAjISdFhGsd3RKRI3fudScqAW342 +``` + +vor oder nach reverse\_proxy einfügen. + +Der Passwort-Hash ist leicht mit den it-tools (bcrypt) zu erzeugen. + +Danach ist der jeweilige Server geschützt. + + + +## IT-Tools + +corentinth/it-tools + + + +# + + +