Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -202,12 +202,19 @@ Annahmen stecken in `tools/authoring.mjs` und sind dort einzeln kommentiert:
|
||||
|
||||
## Stolperstein beim Deployment
|
||||
|
||||
Der erste Rollout lieferte trotz laufendem Container und korrekten Labels ein
|
||||
404 von Traefik. Ursache war der HEALTHCHECK im Dockerfile: busybox-löst zuerst nach auf, nginx lauschte aber nur auf IPv4 –
|
||||
der Check schlug dauerhaft fehl. **Traefik nimmt Container, die nicht
|
||||
sind, gar nicht erst in die Routing-Tabelle auf**, deshalb entstand
|
||||
kein Router und damit auch kein Zertifikat.
|
||||
Der erste Rollout lieferte trotz laufendem Container und korrekten Traefik-Labels
|
||||
ein 404 vom Proxy. Ursache war der HEALTHCHECK im Dockerfile: busybox-`wget`
|
||||
löst `localhost` zuerst nach `::1` auf, nginx lauschte aber nur auf IPv4 – der
|
||||
Check schlug dauerhaft fehl und der Container blieb auf `health: starting`.
|
||||
|
||||
Behoben durch im Healthcheck und ein zusätzliches
|
||||
in der nginx-Konfiguration. Der Workflow wartet seither auf
|
||||
, bevor er den Lauf als erfolgreich meldet.
|
||||
**Traefik nimmt Container, die nicht `healthy` sind, gar nicht in die
|
||||
Routing-Tabelle auf.** Deshalb entstand kein Router, kein Zertifikat und damit
|
||||
ein 404 mit dem Traefik-Default-Zertifikat – ein Fehlerbild, das leicht nach
|
||||
einem Proxy- oder DNS-Problem aussieht.
|
||||
|
||||
Behoben durch `http://127.0.0.1/` im Healthcheck und ein zusätzliches
|
||||
`listen [::]:80;` in der nginx-Konfiguration. Der Deploy-Workflow wartet
|
||||
seither auf `healthy` und prüft den Router, bevor er den Lauf abschliesst.
|
||||
|
||||
Merksatz für weitere AICDS-Apps: ein Container mit fehlschlagendem Healthcheck
|
||||
wird von Traefik stillschweigend ignoriert.
|
||||
|
||||
Reference in New Issue
Block a user