Abmelden fuehrte im Docker-Betrieb auf 0.0.0.0:3000 - eine Adresse, die kein Browser aufrufen kann. Ursache war hausgemacht: ENV HOSTNAME=0.0.0.0 aus #031 reparierte die Zustandspruefung und lenkte zugleich alle Weiterleitungen aus Server Actions dorthin, weil Next sie serverseitig absolut macht. Vorher stand dort der Containername - derselbe Fehler, nur unauffaelliger. Neuer Helfer eigenerPfad() baut die Adresse aus Einstellung, APP_URL oder den Kopfzeilen der Anfrage. Betroffen waren Abmelden, die Sitzungspruefung und das Loeschen eines Kunden. Zusaetzlich uebergeht oeffentlicheBasis() eine als Lausch-Adresse eingetragene APP_URL, statt sie zu uebernehmen. Gegen einen Docker-Stapel geprueft: Mit APP_URL=http://0.0.0.0:3000 leitet die Anwendung jetzt auf den tatsaechlich aufgerufenen Namen. Dazu #032: Das ct-Skript setzt die Herkunft der App-Skripte selbst, und die Speichervorgabe steht auf 4 GB. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,27 @@
|
||||
# #032 LXC-Installation: Herkunft der Skripte und Speicher
|
||||
**Status:** erledigt
|
||||
**Meilenstein:** v0.20.1
|
||||
**Labels:** deployment
|
||||
**Geschätzt:** 1 h **Tatsächlich:** 0 h 20 min
|
||||
|
||||
## Auslöser
|
||||
Erster echter Lauf auf `hv-rz5-pve-02`: Der Container entstand, dann brach es ab mit
|
||||
|
||||
```
|
||||
curl: (22) The requested URL returned error: 404
|
||||
✖️ Could not fetch install/proxledger-install.sh
|
||||
📁 Looked in: https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main
|
||||
```
|
||||
|
||||
## Ursache
|
||||
Ein per `curl` geladenes ct-Skript kann seine eigene Herkunft nicht ermitteln. Das Gerüst setzt dann
|
||||
die Standardadresse der community-scripts ein und sucht dort `install/proxledger-install.sh`.
|
||||
|
||||
## Behebung
|
||||
- Das ct-Skript setzt `COMMUNITY_SCRIPTS_URL` selbst auf die eigene Gitea-Adresse (für Forks und
|
||||
andere Zweige weiterhin überschreibbar).
|
||||
- Vorgabe für den Arbeitsspeicher von 2 auf **4 GB** angehoben: `next build` braucht während der
|
||||
Installation deutlich mehr als 2 GB und wäre nach zehn Minuten am Speicher gescheitert.
|
||||
- Die ermittelte Adresse wird geprüft; `hostname -I` ohne Ergebnis fällt auf die Route nach außen
|
||||
zurück, und in den Zugangsdaten steht der Hinweis, dass `0.0.0.0` aus dem Journal keine
|
||||
aufrufbare Adresse ist.
|
||||
@@ -0,0 +1,35 @@
|
||||
# #033 Abmelden führte auf die Lausch-Adresse
|
||||
**Status:** erledigt
|
||||
**Meilenstein:** v0.20.1
|
||||
**Labels:** bug, deployment
|
||||
**Geschätzt:** 1 h **Tatsächlich:** 0 h 30 min
|
||||
|
||||
## Auslöser
|
||||
Im Docker-Betrieb führte **Abmelden** auf `0.0.0.0:3000/login` – eine Adresse, die kein Browser
|
||||
aufrufen kann (`ERR_ADDRESS_INVALID`).
|
||||
|
||||
## Ursache
|
||||
Hausgemacht, und zwar in #031: Für die Zustandsprüfung des Containers wurde `ENV HOSTNAME=0.0.0.0`
|
||||
gesetzt, damit der Server auf allen Schnittstellen lauscht. Next.js macht eine Weiterleitung aus
|
||||
einer Server Action aber **serverseitig absolut** und nimmt dafür genau diese Adresse. Vorher stand
|
||||
dort der Containername (`http://0a5963a591df:3000/`) – derselbe Fehler, nur weniger auffällig.
|
||||
|
||||
Betroffen waren alle Weiterleitungen, die nicht über eine `Request` liefen: Abmelden, die Prüfung in
|
||||
`sitzungErforderlich` und das Löschen eines Kunden.
|
||||
|
||||
## Behebung
|
||||
- Neuer Helfer `eigenerPfad()` in `src/lib/adresse.ts`: baut die Adresse aus Einstellung, `APP_URL`
|
||||
oder den Kopfzeilen der Anfrage – nie aus der Lausch-Adresse.
|
||||
- `oeffentlicheBasis()` übergeht unbrauchbare Angaben (`0.0.0.0`, `::`) jetzt ausdrücklich, statt sie
|
||||
zu übernehmen. Eine falsch eingetragene Adresse macht das Dashboard damit nicht unbenutzbar.
|
||||
- Zwei zusätzliche Tests.
|
||||
|
||||
## Prüfung
|
||||
Gegen einen Docker-Stapel durchgespielt: Mit `APP_URL=http://0.0.0.0:3000` in der `.env` – also der
|
||||
Fehlkonfiguration – leitet die Anwendung jetzt auf den tatsächlich aufgerufenen Namen
|
||||
(`http://localhost:3003/login`) statt auf die Lausch-Adresse.
|
||||
|
||||
## Lehre
|
||||
Der Fix für die Zustandsprüfung hat einen zweiten Fehler sichtbar gemacht, der vorher nur anders
|
||||
aussah. Weiterleitungen gehören grundsätzlich aus der **konfigurierten** Adresse gebaut, nicht aus
|
||||
dem, was der Server zufällig über sich selbst weiß.
|
||||
@@ -35,4 +35,6 @@ Details und Architektur: [../architektur.md](../architektur.md). Zeiten werden a
|
||||
| [#029](029-betriebsdokumentation.md) | Einrichtungsdokumentation | erledigt | v0.19.0 | 3 h | 0 h 40 min |
|
||||
| [#030](030-netbird-reverse-proxy.md) | netbird Reverse Proxy in die Anleitung | erledigt | v0.19.1 | 1 h | 0 h 20 min |
|
||||
| [#031](031-update-skript-beide-varianten.md) | Update- und Sicherungsskript für beide Varianten | erledigt | v0.20.0 | 2 h | 0 h 45 min |
|
||||
| | **Summe** | | | **149 h** | **16 h 08 min** |
|
||||
| [#032](032-lxc-installation-korrekturen.md) | LXC-Installation: Herkunft der Skripte und Speicher | erledigt | v0.20.1 | 1 h | 0 h 20 min |
|
||||
| [#033](033-weiterleitung-lauschadresse.md) | Abmelden führte auf die Lausch-Adresse | erledigt | v0.20.1 | 1 h | 0 h 30 min |
|
||||
| | **Summe** | | | **151 h** | **16 h 58 min** |
|
||||
|
||||
Reference in New Issue
Block a user