使用NestJS在OPTIONS上找不到404

时间:2018-05-15 15:37:02

标签: node.js typescript cors http-options-method nestjs

我是NestJS的新手,在我的网络应用尝试查询的每条路线上,它都在OPTIONS请求上失败,获得:

  

{" statusCode":404,"错误":"未找到","消息":"无法选项   /认证"}

然而,尝试直接GET或POST请求可以正常工作。

2 个答案:

答案 0 :(得分:8)

经过一些研究后我发现我只需要enable CORS(Access-Control-Allow-Origin),我可以通过编辑main.ts并传递{{1}来做到这一点。 } cors: true选项(第二个参数)。

NestFactory.create

答案 1 :(得分:2)

关于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,
  }});
.....