stuff
This commit is contained in:
parent
178a2ba23b
commit
44b0e1e73a
1 changed files with 24 additions and 1 deletions
|
|
@ -11,20 +11,30 @@ async function bootstrap() {
|
||||||
const corsOrigin = configService.get<string>('CORS_ORIGIN') || 'http://localhost:5173';
|
const corsOrigin = configService.get<string>('CORS_ORIGIN') || 'http://localhost:5173';
|
||||||
const allowedOrigins = corsOrigin.split(',').map(origin => origin.trim());
|
const allowedOrigins = corsOrigin.split(',').map(origin => origin.trim());
|
||||||
|
|
||||||
|
console.log('=== Backend Starting ===');
|
||||||
|
console.log(`CORS_ORIGIN from env: ${configService.get<string>('CORS_ORIGIN') || 'NOT SET (using default)'}`);
|
||||||
|
console.log(`CORS allowed origins: ${allowedOrigins.join(', ')}`);
|
||||||
|
|
||||||
app.enableCors({
|
app.enableCors({
|
||||||
origin: (origin, callback) => {
|
origin: (origin, callback) => {
|
||||||
|
// Логируем все входящие запросы
|
||||||
|
console.log(`[CORS] Request from origin: ${origin || 'NO ORIGIN (direct request)'}`);
|
||||||
|
|
||||||
// Разрешаем запросы без origin (например, Postman, мобильные приложения)
|
// Разрешаем запросы без origin (например, Postman, мобильные приложения)
|
||||||
if (!origin) {
|
if (!origin) {
|
||||||
|
console.log(`[CORS] Allowing request without origin`);
|
||||||
return callback(null, true);
|
return callback(null, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Проверяем, есть ли origin в списке разрешенных
|
// Проверяем, есть ли origin в списке разрешенных
|
||||||
if (allowedOrigins.includes(origin)) {
|
if (allowedOrigins.includes(origin)) {
|
||||||
|
console.log(`[CORS] ✓ Allowed origin: ${origin}`);
|
||||||
return callback(null, true);
|
return callback(null, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Логируем отклоненные запросы для отладки
|
// Логируем отклоненные запросы для отладки
|
||||||
console.warn(`CORS: Blocked origin: ${origin}. Allowed origins: ${allowedOrigins.join(', ')}`);
|
console.error(`[CORS] ✗ BLOCKED origin: ${origin}`);
|
||||||
|
console.error(`[CORS] Allowed origins are: ${allowedOrigins.join(', ')}`);
|
||||||
return callback(new Error('Not allowed by CORS'));
|
return callback(new Error('Not allowed by CORS'));
|
||||||
},
|
},
|
||||||
credentials: true,
|
credentials: true,
|
||||||
|
|
@ -32,6 +42,12 @@ async function bootstrap() {
|
||||||
allowedHeaders: ['Content-Type', 'Authorization'],
|
allowedHeaders: ['Content-Type', 'Authorization'],
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// Добавляем middleware для логирования всех запросов
|
||||||
|
app.use((req, res, next) => {
|
||||||
|
console.log(`[${new Date().toISOString()}] ${req.method} ${req.path} - Origin: ${req.headers.origin || 'NO ORIGIN'}`);
|
||||||
|
next();
|
||||||
|
});
|
||||||
|
|
||||||
app.useGlobalPipes(new ValidationPipe({
|
app.useGlobalPipes(new ValidationPipe({
|
||||||
whitelist: true,
|
whitelist: true,
|
||||||
transform: true,
|
transform: true,
|
||||||
|
|
@ -40,7 +56,14 @@ async function bootstrap() {
|
||||||
const port = configService.get<number>('PORT') || 3000;
|
const port = configService.get<number>('PORT') || 3000;
|
||||||
const host = configService.get<string>('HOST') || '0.0.0.0';
|
const host = configService.get<string>('HOST') || '0.0.0.0';
|
||||||
await app.listen(port, host);
|
await app.listen(port, host);
|
||||||
|
console.log(`=== Backend Started Successfully ===`);
|
||||||
console.log(`Backend running on http://${host}:${port}`);
|
console.log(`Backend running on http://${host}:${port}`);
|
||||||
console.log(`CORS allowed origins: ${allowedOrigins.join(', ')}`);
|
console.log(`CORS allowed origins: ${allowedOrigins.join(', ')}`);
|
||||||
|
console.log(`Environment variables:`);
|
||||||
|
console.log(` - DATABASE_URL: ${configService.get<string>('DATABASE_URL') ? 'SET' : 'NOT SET'}`);
|
||||||
|
console.log(` - JWT_SECRET: ${configService.get<string>('JWT_SECRET') ? 'SET' : 'NOT SET'}`);
|
||||||
|
console.log(` - PORT: ${port}`);
|
||||||
|
console.log(` - HOST: ${host}`);
|
||||||
|
console.log(` - CORS_ORIGIN: ${corsOrigin}`);
|
||||||
}
|
}
|
||||||
bootstrap();
|
bootstrap();
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue