docs(discord-bridge): nota despre <base href> in README-ul dashboard-ului
Completeaza e0ea850: sectiunea despre montarea sub prefix descria inca vechea
solutie (URL-uri relative + 301), nu pe cea care a rezolvat de fapt problema.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01B29CApsP1JkSdjYaGaHpE7
This commit is contained in:
@@ -141,13 +141,17 @@ Configuratia e persistata de `tailscaled`, deci supravietuieste repornirilor.
|
||||
**Montarea sub prefix**, cele doua capcane si cum sunt rezolvate:
|
||||
|
||||
- `tailscale serve --set-path` **taie** prefixul inainte de a proxa, deci serverul
|
||||
vede `/api/status`, nu `/claude/api/status`. Toate URL-urile din pagini sunt
|
||||
**relative**, deci merg la orice prefix, fara sa stie de el. `DASHBOARD_PREFIX`
|
||||
e nevoie doar pentru redirecturi si e acceptat si intact pe intrare (`curl`
|
||||
direct pe localhost cu `/claude/...` functioneaza).
|
||||
- adresa **fara slash final** (`/claude`) ar rezolva `api/status` la radacina
|
||||
hostului, unde proxy-ul nu mai trimite nimic incoace; de aceea forma fara slash
|
||||
primeste un 301 catre `/claude/`.
|
||||
vede `/api/status`, nu `/claude/api/status`. URL-urile din pagini sunt relative,
|
||||
iar `<base href="/claude/">` se pune **la servire**, din `DASHBOARD_PREFIX`.
|
||||
Prefixul e acceptat si intact pe intrare, deci `curl` direct pe localhost cu
|
||||
`/claude/...` functioneaza la fel.
|
||||
- adresa **fara slash final** (`/claude`) ajunge la server tot ca `/`, exact ca
|
||||
`/claude/`: proxy-ul taie prefixul si nu lasa nicio urma a formei originale.
|
||||
Fara `<base href>`, `api/status` s-ar rezolva atunci la radacina hostului, unde
|
||||
proxy-ul nu mai trimite nimic incoace — pagina se incarca si **ramane goala,
|
||||
fara nicio eroare vizibila**. Exact asta s-a intamplat la prima folosire reala.
|
||||
- paginile se servesc cu `Cache-Control: no-store`: poarta de acum configuratie
|
||||
(`base href`), iar o copie veche din cache ar trimite cererile in alta parte.
|
||||
|
||||
### Prin tunel SSH
|
||||
|
||||
@@ -165,7 +169,7 @@ cd proxmox/lxc171-claude-agent/discord-bridge
|
||||
python3 -m pytest tests/test_dashboard.py -q
|
||||
```
|
||||
|
||||
31 de teste, fara retea si fara `systemctl` real (dublura inregistreaza apelurile).
|
||||
35 de teste, fara retea si fara `systemctl` real (dublura inregistreaza apelurile).
|
||||
Acopera autentificarea, faptul ca unitatea nu poate fi aleasa din cerere, blocajul pe
|
||||
tur in zbor si trecerea cu `force`, traversarea de cale in `request_id`, `state.json`
|
||||
corupt, montarea sub prefix (cu si fara slash final) si verificarea de regresie
|
||||
|
||||
Reference in New Issue
Block a user