fix(evobgp): health GET /api/evobgp, дублирующий mount /evobgp для nginx proxy_pass
Publish Docker image / build-and-push (push) Successful in 1m19s
Publish Docker image / build-and-push (push) Successful in 1m19s
- диагностика: JSON на GET /api/evobgp и /evobgp - совместимость с nginx, срезающим префикс /api - DOCKER.md: пример location /api/ и типичная ошибка Made-with: Cursor
This commit is contained in:
+15
-1
@@ -38,7 +38,7 @@ const { initNetworkMapScheduler } = require('./services/networkMapScheduler');
|
||||
const { initPingServicesScheduler } = require('./services/pingServicesScheduler');
|
||||
const { initUptimeMonitorScheduler } = require('./services/uptimeMonitorScheduler');
|
||||
const schedulerRoutes = require('./routes/schedulerRoutes');
|
||||
const { createEvobgpProxy } = require('./routes/evobgpProxyRoutes');
|
||||
const { createEvobgpProxy, normalizeEvobgpBaseUrl } = require('./routes/evobgpProxyRoutes');
|
||||
|
||||
const app = express();
|
||||
const port = Number(process.env.PORT) || 3001;
|
||||
@@ -158,7 +158,21 @@ app.get('/api/version', (req, res) => {
|
||||
});
|
||||
|
||||
// === EvoBGP reverse proxy (токен и URL только на сервере; без CORS в браузере) ===
|
||||
function evobgpProxyHealth(req, res) {
|
||||
const base = normalizeEvobgpBaseUrl(process.env.EVOBGP_API_URL || '');
|
||||
const hasToken = Boolean(String(process.env.EVOBGP_API_TOKEN || '').trim());
|
||||
res.json({
|
||||
ok: true,
|
||||
proxy: true,
|
||||
evobgpConfigured: Boolean(base && hasToken),
|
||||
});
|
||||
}
|
||||
// Точное совпадение до app.use: GET /api/evobgp и GET /evobgp — проверка, что запрос доходит до Node
|
||||
app.get('/api/evobgp', evobgpProxyHealth);
|
||||
app.get('/evobgp', evobgpProxyHealth);
|
||||
app.use('/api/evobgp', createEvobgpProxy({ logger }));
|
||||
// Если nginx делает proxy_pass http://upstream/ и срезает префикс /api, до приложения приходит /evobgp/…
|
||||
app.use('/evobgp', createEvobgpProxy({ logger }));
|
||||
|
||||
// === Cache TTL ===
|
||||
const DEFAULT_CACHE_TTL = Math.max(0, Math.min(300, Number(process.env.CACHE_TTL_SECONDS) || 30));
|
||||
|
||||
Reference in New Issue
Block a user