Security

CORS

学习如何在NestJS应用中配置跨域资源共享(CORS),允许来自不同域的资源请求

CORS

跨域资源共享(CORS)是一种允许从另一个域请求资源的机制。在底层,Nest根据底层平台使用Express的cors或Fastify的@fastify/cors包。这些包提供了各种选项,您可以根据需求进行自定义。

入门

要启用CORS,请在Nest应用程序对象上调用enableCors()方法。

const app = await NestFactory.create(AppModule);
app.enableCors();
await app.listen(process.env.PORT ?? 3000);

enableCors()方法接受一个可选的配置对象参数。此对象的可用属性在官方CORS文档中有描述。另一种方法是传递一个回调函数,让您根据请求(动态地)异步定义配置对象。

或者,通过create()方法的选项对象启用CORS。将cors属性设置为true以使用默认设置启用CORS。 或者,传递一个CORS配置对象回调函数作为cors属性值来自定义其行为。

const app = await NestFactory.create(AppModule, { cors: true });
await app.listen(process.env.PORT ?? 3000);