Получение 404, не найденного на ВАРИАНТАХ с NestJS

Я новичок в NestJS, и на каждом маршруте мое веб-приложение пытается выполнить запрос, оно не выполняется по запросу OPTIONS, получая:

{"statusCode": 404, "error": "Not Found", "message": "Cannot OPTIONS / authenticate"}

Однако попытка прямого запроса GET или POST работает нормально.

3 ответа

Решение

После некоторых исследований я понял, что мне просто нужно включить CORS (Access-Control-Allow-Origin), что я могу сделать, отредактировав свой main.ts и прохождение cors: true к NestFactory.create параметры (второй параметр).

import { NestFactory } from '@nestjs/core';
import { AppModule } from './app.module';

async function bootstrap() {
  const app = await NestFactory.create(AppModule, { cors: true });
  await app.listen(3000);
}
bootstrap();

Некоторая дополнительная информация о CORS, если вы включите ее через:

import { NestFactory } from '@nestjs/core';
import { AppModule } from './app.module';

async function bootstrap() {
  const app = await NestFactory.create(AppModule, { cors: true });
  await app.listen(3000);
}
bootstrap();

Это позволит выполнять перекрестные запросы из любого домена. Что обычно не является лучшей практикой безопасности.

Если вы хотите, чтобы CORS перехватывал ваши предварительные запросы, но также разрешал только исходные запросы изнутри сервера, вы можете использовать эту конфигурацию:

.....
  const app = await NestFactory.create(ApplicationModule, {cors: {
    origin: true,
    preflightContinue: false,
  }});
.....

Кто-нибудь еще ищет ответ

      app.enableCors();
Другие вопросы по тегам