1.9 KiB
1.9 KiB
Caddy als reverseproxy einrichten
Netzwerk anlegen
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
mkdir -p /srv/docker/caddy/config
mkdir -p /srv/docker/caddy/data
docker-compose.yml erstellen
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 Caddyfileim config-Verzeichnis an:
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