Caddy als reverse proxy
Ich betreibe einen debian trixie server im hausnetz fritz.box mit einer festen ip. 192.168.178.2 Darauf läuft Docker. Mit drei Containern/Services auf verschiedenen Ports. Die Services sind unter /opt/docker/service1, …/service2, …/service3 angelegt. Jeder Service mit eigener Docker-compose.yaml Datei. (Ich würde jeden Dienst gern im Hausnetz mit Namen aufrufen. ZB. http(s)://dienst1.fritz.box.) Jeder Service legt idR ein eigenes Netz an. 172.xx.0.0/16. Soweit laufen die Dienste. Nun möchte ich Caddy als reverse proxy davor zu setzen, der über Port 80/443 alle 3 services erreichbar macht. (Nur im Hausnetz! Nicht von außen!) Hierfür werden die Services alle im selben Dockernetz betrieben. Hierfür habe ich unter Docker ein proxy-net angelegt. In den .yaml Dateien der Dienste habe ich dieses Netz dann zugewiesen. —> networks: external: true
Auch das funktioniert soweit. Alle Dienste im selben Netz. Auf der Fritzbox habe ich bei DNS-Rebind-Schutz die drei Serverdienst-url‘s („dienst1-3.fritz.box“) als Ausnahme eingetragen. Leider funktioniert das Konstrukt nicht. Anbei die caddy-config sowie das Caddyfile.
docker-Composite.yaml
services:
caddy:
container_name: caddy
image: caddy:latest
restart: unless-stopped
ports:
- "80:80"
- "443:443"
networks:
- "proxy-network"
volumes:
- ./Caddyfile:/etc/caddy/Caddyfile:ro
- ./data:/data
- ./config:/config
networks:
proxy-network:
external: true
Mit diesem nachfolgendem Caddyfile ist der Container zwar im proxy-network, zieht aber keine ip-Adresse. Lasse ich den Eintrag weg, wird eine IP gezogen.)
{
auto_https off
}
pihole.fritz.box:12380 {
proxy-network pihole:12380 # der pihole-port ist umgebogen
}
Kann mir bitte jemand weiter helfen? Ich bin thematisch nicht tief genug im Thema um das zu lösen. Besten Dank im Voraus!
Ich betreibe einen debian trixie server im hausnetz fritz.box mit einer festen ip. 192.168.178.2 Darauf läuft Docker. Mit drei Containern/Services auf verschiedenen Ports. Die Services sind unter /opt/docker/service1, …/service2, …/service3 angelegt. Jeder Service mit eigener Docker-compose.yaml Datei. (Ich würde jeden Dienst gern im Hausnetz mit Namen aufrufen. ZB. http(s)://dienst1.fritz.box.) Jeder Service legt idR ein eigenes Netz an. 172.xx.0.0/16. Soweit laufen die Dienste. Nun möchte ich Caddy als reverse proxy davor zu setzen, der über Port 80/443 alle 3 services erreichbar macht. (Nur im Hausnetz! Nicht von außen!) Hierfür werden die Services alle im selben Dockernetz betrieben. Hierfür habe ich unter Docker ein proxy-net angelegt. In den .yaml Dateien der Dienste habe ich dieses Netz dann zugewiesen. —> networks: external: true
Auch das funktioniert soweit. Alle Dienste im selben Netz. Auf der Fritzbox habe ich bei DNS-Rebind-Schutz die drei Serverdienst-url‘s („dienst1-3.fritz.box“) als Ausnahme eingetragen. Leider funktioniert das Konstrukt nicht. Anbei die caddy-config sowie das Caddyfile.
docker-Composite.yaml
services:
caddy:
container_name: caddy
image: caddy:latest
restart: unless-stopped
ports:
- "80:80"
- "443:443"
networks:
- "proxy-network"
volumes:
- ./Caddyfile:/etc/caddy/Caddyfile:ro
- ./data:/data
- ./config:/config
networks:
proxy-network:
external: true
Mit diesem nachfolgendem Caddyfile ist der Container zwar im proxy-network, zieht aber keine ip-Adresse. Lasse ich den Eintrag weg, wird eine IP gezogen.)
{
auto_https off
}
pihole.fritz.box:12380 {
proxy-network pihole:12380 # der pihole-port ist umgebogen
}
Kann mir bitte jemand weiter helfen? Ich bin thematisch nicht tief genug im Thema um das zu lösen. Besten Dank im Voraus!