JavaScript
Express
CORS

CORS(Cross-Origin Resource Sharing)をexpress4で実現する

More than 3 years have passed since last update.

express4になってCORSにもハマったのでメモ。

WebStormなどを使ってlocalhostの任意のポートでデバッグをしているとSame origin policyにかかって涙目になる人は多いかと思います。そんなときは、サーバー側でcorsに対応して簡単に回避がしたいことがあるかと思います。

そこで、express4でcorsを実現してみます。

前提として、expressコマンドでひな形を作っているとします。



  1. corserミドルウェアを使うのでcorserをインストール


    $ npm install corser


  2. node.jsのサーバー側のソースコードに以下を追加します。通常はapp.jsです。



app.jsへ追加

var corser = require("corser");

app.use(corser.create());

これで、CORSが実現できます。app.getやapp.postを事前に捕まえててrequest headerに"Access-Control-Allow-Origin"を追加する方法などもググれば出てきますが、(例えばここ)corserを使うのが一番簡単だと思います。

セキュリティにはくれぐれもご注意を。

ecors