express4になってCORSにもハマったのでメモ。
WebStormなどを使ってlocalhostの任意のポートでデバッグをしているとSame origin policyにかかって涙目になる人は多いかと思います。そんなときは、サーバー側でcorsに対応して簡単に回避がしたいことがあるかと思います。
そこで、express4でcorsを実現してみます。
前提として、expressコマンドでひな形を作っているとします。
-
corserミドルウェアを使うのでcorserをインストール
$ npm install corser
- 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