Nest JS CORS не работает - что мне делать? - PullRequest
0 голосов
/ 10 июля 2020

Как бы я ни пытался активировать CORS в моем приложении Nest JS, я не могу запустить его. Я перепробовал почти все возможности, которые мог найти на inte rnet. Почему это проблема многих проектов? Что вызывает проблему?

Я пробовал:

const app = await NestFactory.create(AppModule, {cors: true});

app.enableCors();

app.use(cors());

const options: any = {cors: '*'} // cors: true // cors: ['http://localhost:4200'] // ...
app.enableCors(options);

app.use(cors(options));

@Header('Access-Control-Allow-Origin', 'http://localhost:4200') // on a specific method

...

Я всегда получаю сообщение об ошибке «No Access-Control-Allow-Origin» в запрошенном ресурсе. Скриншот ошибки

Буду очень благодарен за любую помощь по этому поводу.

1 Ответ

0 голосов
/ 10 июля 2020

Как узнать, что он не работает?

У меня есть что-то подобное в недавнем проекте Nest JS, работающем под управлением v7.2.0.

  const app = await NestFactory.create(AppModule)
 
  // ... 

  if (process.env.NODE_ENV === 'development' || process.env.NODE_ENV === 'test') {
    app.enableCors()
  } else {
    app.enableCors({
      origin: config.get('server.origin'),
      // methods: 'GET,HEAD,PUT,PATCH,POST,DELETE,OPTIONS',
      // credentials: false,
      // ...
    })
    logger.log(`Accepting requests from origin "${config.get('server.origin')}"`)
  }

Это описано здесь, в документации: https://docs.nestjs.com/techniques/security

Помимо этого, я бы хотел убедиться, что вы правильно используете Nest в своих контроллерах. Если вы что-то делаете, чтобы поиграть с ответом или изменить заголовки, возможно, вы наступили на что-то ??

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...