Wer komplexere Services mit Caddy als reverse Proxy auf dem Host System betreibt, insbesondere wenn Docker-Container-Verbünde mit im Spiel sind, kommt nicht um den Setup-Prozess von einem zweiten Reverse Proxy herum. Ich hatte nun aber den Anwendungsfall, hinter einem Caddy-Reverse-Proxy (der auf Port 443 hört und als System-Service läuft und dann auf einen lokalen Port proxied) einen weiteren Nginx Reverse Proxy als Docker-Ingress-Service nutzt. Damit dieses Setup jedoch funktioniert, ist zu beachten, dass die Domains statisch angegeben werden müssen – wildcard-Platzhalter funktionieren nicht in Caddy hinter einem weiteren Reverse Proxy.

Hier nun in aller Kürze ein Docker-Demo-Setup das getestet funktioniert für diesen doch recht speziellen Fall:

Wildcards und Caddy

Wie ich feststellen musste, kann Caddy keine Wildcard-Weiterleitungen im folgenden Format verarbeiten: *.SLD.TLD

Nginx hat dagegen kein Problem damit – also blieb für mich nur er Griff zu Nginx als zweiter Reverse Proxy. Da Caddy mit dem automatischen Erstellen von SSL-Zertifikaten als Docker-Ingress-Proxy hinter einem Systemweiten Proxy sowieso nicht seine größte Stärke ausspielen könnte, ist das auch nicht hoch dramatisch.