Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

NestJS enable cors in production

I've enabled CORS in my NestJS app following the official tutorial, so my main.ts looks like the following:

import { FastifyAdapter, NestFactory } from '@nestjs/core'; import { AppModule } from './app.module';  async function bootstrap() {   const app = await NestFactory.create(AppModule, new FastifyAdapter(), { cors: true });   await app.listen(3000); } bootstrap(); 

and it works when I run the application using npm run start:dev.

However when I try to first compile the application using npm run webpack and then running it using node server.js, the cors will not work.

The http request from the client will fail with:

Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8000' is therefore not allowed access. The response had HTTP status code 404.

like image 244
Francesco Borzi Avatar asked Jun 20 '18 13:06

Francesco Borzi


Video Answer


1 Answers

Try to use an approach described in here https://docs.nestjs.com/techniques/security#cors

const app = await NestFactory.create(ApplicationModule); app.enableCors(); await app.listen(3000); 
like image 155
Georgii Rychko Avatar answered Sep 21 '22 20:09

Georgii Rychko