Odchozi IP adresa portalu

Kdyz cizi sluzba odmitne pristup, prvni otazka je, z jake adresy se vlastne
vola. Z containeru to videt neni, vidi to az protistrana, takze se zepta echo
sluzby podle EGRESS_IP_URL a vysledek se drzi v pameti po EGRESS_IP_TTL_MS.
Prazdna EGRESS_IP_URL funkci vypne, prepsat ji jde na vlastni echo pod svou
domenou.

Adresa je natvrdo na strance Konektory a u kazdeho odmitnuteho overeni v logu.
Pripojuje se jen u 401 a 403 - jinde nema co rict a nestoji za volani ven.

Neni to tajemstvi: kazda volana sluzba tuhle adresu stejne vidi.

Endpoint egress-ip je registrovany pred GET /:id, jinak by ho router vzal
jako id konektoru.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
JiriUhlir
2026-08-25 07:22:26 +02:00
co-authored by Claude Opus 5
parent ab88979627
commit 4545de8076
9 changed files with 283 additions and 0 deletions
+38
View File
@@ -1657,6 +1657,36 @@ export function buildOpenApiDocument() {
responses: { '204': { description: 'Smazano' }, '404': { description: 'Neexistuje' } },
},
},
'/api/dashboard/connectors/egress-ip': {
get: {
tags: ['Konektory'],
summary: 'Odchozi IP adresa portalu',
description:
'Adresa, kterou vidi volana sluzba, tedy ta, ktera musi byt na jejim seznamu ' +
'povolenych IP. Z containeru videt neni, zjistuje se echo sluzbou podle ' +
'EGRESS_IP_URL a vysledek se drzi v pameti po EGRESS_IP_TTL_MS. Neni to ' +
'tajemstvi: kazda volana sluzba tuhle adresu stejne vidi.',
security: [{ bearerAuth: [] }],
responses: {
'200': {
description: 'Odchozi adresa, nebo duvod, proc se nezjistila',
content: {
'application/json': {
schema: {
type: 'object',
properties: {
ip: { type: 'string', nullable: true },
source: { type: 'string' },
checkedAt: { type: 'string', format: 'date-time' },
error: { type: 'string' },
},
},
},
},
},
},
},
},
'/api/dashboard/connectors/{id}/test': {
post: {
tags: ['Konektory'],
@@ -1750,6 +1780,14 @@ export function buildOpenApiDocument() {
'je to jedina stopa, ktera zbyde. Allowlist, ne vsechno: ' +
'Set-Cookie a podobne do zaznamu nepatri.',
},
egressIp: {
type: 'string',
nullable: true,
description:
'Odchozi IP adresa portalu ve chvili volani. Vyplnena jen ' +
'u odmitnuteho pristupu (401, 403) - tam je to prvni otazka, ' +
'jinde nema co rict.',
},
},
},
},