Fra*_*rzi 10 node.js cors http-options-method typescript nestjs
我是NestJS的新手,在我的网络应用尝试查询的每条路线上,它都在OPTIONS请求上失败,得到:
{"statusCode":404,"error":"Not Found","message":"无法选择/验证"}
但尝试直接GET或POST请求工作正常.
Fra*_*rzi 13
经过一些研究后,我意识到我只需要启用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();
Run Code Online (Sandbox Code Playgroud)
如果您通过以下方式启用了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();
Run Code Online (Sandbox Code Playgroud)
这将允许来自任何域的跨源请求。这通常不是安全性最佳实践。
如果要允许CORS截获预检请求,但又只允许来自服务器内部的原始请求,则可以使用以下配置:
.....
const app = await NestFactory.create(ApplicationModule, {cors: {
origin: true,
preflightContinue: false,
}});
.....
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2474 次 |
最近记录: |