Zmerit i to, jak nas vidi vlastni proxy

Echo sluzba na internetu odpovi verejnou adresu. Jenze volani na vlastni
domenu se otaci zpatky na tentyz stroj a reverse proxy pak vidi neco jineho,
typicky adresu docker bridge. A prave tu porovnava seznam povolenych IP
u sluzeb za toutez proxy, takze verejna adresa muze byt povolena a volani
z containeru presto skonci na 403.

Zmeri se to tak, ze portal zavola svoji vlastni verejnou adresu
(PUBLIC_ORIGIN + ROOT_PATH + /whoami) a precte si, jak k nemu volani doslo.
Kruh sam pres sebe, ale nic jineho tuhle adresu nezjisti: mezi container
a server se tim dostane ta sama proxy, kterou prochazi volani na sousedni
sluzby.

Novy /api/whoami je zamerne bez prihlaseni. Vraci volajicimu jeho vlastni
adresu, tedy nic, co by uz nevedel, stejne jako kterakoliv echo sluzba.

Obe mereni bezi naraz a jsou videt na strance Konektory vedle sebe.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
JiriUhlir
2026-08-25 07:33:46 +02:00
co-authored by Claude Opus 5
parent 4545de8076
commit 6a2e0dc424
7 changed files with 228 additions and 21 deletions
+7
View File
@@ -64,6 +64,13 @@ nepomuze. Duvod pritom sluzba do tela odpovedi napsala, jen se zahodil.
v logu. Zjistuje se echo sluzbou podle `EGRESS_IP_URL`, drzi se v pameti
po `EGRESS_IP_TTL_MS`, u 401 a 403 se pripoji k zaznamu. Prazdna
`EGRESS_IP_URL` funkci vypne.
- **Druhe mereni: jak nas vidi nase vlastni proxy.** Echo sluzba odpovi
verejnou adresu, jenze volani na vlastni domenu se otaci zpatky na tentyz
stroj a proxy pak vidi neco jineho, typicky adresu docker bridge. A prave
tu porovnava seznam povolenych IP u sluzeb za toutez proxy. Portal proto
zavola svoji vlastni verejnou adresu (`PUBLIC_ORIGIN` + `ROOT_PATH` +
`/whoami`) a precte si, jak k nemu volani doslo. Novy endpoint `/api/whoami`
je bez prihlaseni: vraci volajicimu jeho vlastni adresu, nic navic.
### Nedoreseno