アレについて記す

NestのCORS設定メモ

Posted on September 23, 2018 at 22:30 (JST)

CORSの設定方法についてメモ。

動作環境

OS: macOS High Sierra ver. 10.13.4
Nodejs: v8.10.0
npm: 5.6.0
nest(core): 5.3.6
Docker: 18.06.1-ce

メモ

CORSについてはMDN web docsが詳しい。

NestFactory#create のオプション設定にてCORSを有効化できる。

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

corsオプションにtrueを指定した場合は Access-Control-Allow-Origin: * 指定となる。

上記corsオプションはboolean以外にCorsOptionsを指定することができる。

[node_modules/@nestjs/common/interfaces/external/cors-options.interface.d.ts]

export interface CorsOptions {
    origin?: boolean | string | RegExp | (string | RegExp)[] | CustomOrigin;
    methods?: string | string[];
    allowedHeaders?: string | string[];
    exposedHeaders?: string | string[];
    credentials?: boolean;
    maxAge?: number;
    preflightContinue?: boolean;
    optionsSuccessStatus?: number;
}

オプションの指定内容はExpressのCORSオプションが参考になる。

より細かい指定が必要であれば、この記事のように自分でミドルウェアを書けば良さそう。


以上。


参考URL