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:
@@ -100,6 +100,19 @@ describe("Öffentliche Adresse", () => {
|
||||
expect(eigeneAdresse(anfrageMit({}), "/").host).toBe("0a5963a591df:3000");
|
||||
});
|
||||
|
||||
it("übergeht eine Lausch-Adresse in der Konfiguration", () => {
|
||||
// 0.0.0.0 heißt „alle Schnittstellen“ – als Ziel im Browser ist das unbrauchbar.
|
||||
// Genau so stand es nach einer Installation in der .env und führte beim Abmelden ins Leere.
|
||||
const anfrage = anfrageMit({ host: "proxledger.firma.de" });
|
||||
expect(eigeneAdresse(anfrage, "/login", "http://0.0.0.0:3000").host).toBe("proxledger.firma.de");
|
||||
});
|
||||
|
||||
it("übergeht auch eine Lausch-Adresse aus der Umgebung", () => {
|
||||
vi.stubEnv("APP_URL", "http://0.0.0.0:3000");
|
||||
const anfrage = anfrageMit({ host: "proxledger.firma.de" });
|
||||
expect(eigeneAdresse(anfrage, "/login").host).toBe("proxledger.firma.de");
|
||||
});
|
||||
|
||||
it("übergeht einen unbrauchbaren Eintrag, statt zu scheitern", () => {
|
||||
const anfrage = anfrageMit({ "x-forwarded-host": "dashboard.kunde.de" });
|
||||
expect(eigeneAdresse(anfrage, "/", "keine-adresse").host).toBe("dashboard.kunde.de");
|
||||
|
||||
Reference in New Issue
Block a user