diff --git a/README.md b/README.md index 394c7c6..1b0afbe 100644 --- a/README.md +++ b/README.md @@ -53,9 +53,11 @@ docker run -p 3000:3000 techno-todo ## Live-URL -``` -http://techno-todo.192.168.0.184.sslip.io/ -``` +| Typ | URL | +|-----|-----| +| **Öffentlich** | https://todo.kgessner.de | +| **LAN** | http://techno-todo.192.168.0.184.sslip.io/ | -(Erreichbar aus dem Heimnetz `192.168.0.x`. Die öffentliche IP `152.53.197.186` routet -aktuell nicht zu Dokploy — siehe `docs/ARCHITECTURE.md`.) +`todo.kgessner.de` wird über einen Reverse-Proxy (öffentliche IP `152.53.197.186`) auf +`192.168.0.184:80` geleitet. Damit Traefik den Request annimmt, muss `todo.kgessner.de` +als Host in der Traefik-Routing-Regel stehen (siehe `docs/ARCHITECTURE.md`). diff --git a/docs/ARCHITECTURE.md b/docs/ARCHITECTURE.md index 1429ac0..8ae6daa 100644 --- a/docs/ARCHITECTURE.md +++ b/docs/ARCHITECTURE.md @@ -48,10 +48,12 @@ (Hermes, Dokploy) nicht zuverlässig erreichen. Das ist der Grund, warum der Gitea-Webhook unzuverlässig ist und ein Cron-Polling-Fallback nötig wurde. -4. **Öffentliche IP routet nicht zu Dokploy:** `techno-todo.152.53.197.186.sslip.io` - funktioniert **nicht**, weil Port 80/443 der öffentlichen IP nicht auf den - Dokploy-Host (`192.168.0.184`) weitergeleitet wird. Für LAN-Tests wird deshalb - `techno-todo.192.168.0.184.sslip.io` genutzt. +4. **Öffentlicher Zugriff via Reverse-Proxy:** `todo.kgessner.de` wird über den + Reverse-Proxy (öffentliche IP `152.53.197.186`) auf `192.168.0.184:80` geleitet. + Traefik routet dann anhand des Host-Headers auf die App. Dafür muss `todo.kgessner.de` + in der Traefik-Routing-Regel (`Host(...)`) stehen. Der `sslip.io`-Trick + (`techno-todo.152.53.197.186.sslip.io`) funktioniert **nicht**, weil sslip.io direkt + auf die IP zeigt (ohne den Reverse-Proxy-Host-Header-Kontext). ## Docker-Swarm auf Dokploy