2017-03-07 1 views
0

JavaScript/AJAXから呼び出すエンドポイントの数が多いノードアプリケーションがあります。以前は、JavaScriptファイルと同じドメイン上にホストされているPHPプロキシを経由して、クロスオリジンリソース共有の問題を解決しましたが、中堅人物を切り出して、AJAXからNodeに直接行きたいと思います。特定のエンドポイントでCORSを有効にするようにNode.jsアプリケーションを設定する

私は今を経由して、非常に広くノード・アプリケーションのCORSを有効にしている:

app.use(function(req, res, next) { 
    res.header("Access-Control-Allow-Origin", "*"); 
    res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept"); 
    next(); 
}); 

しかし、これは私が特定のドメインに関連付けられたままにしたいものも含めて、すべてのエンドポイントを公開しています。エンドポイントごとにCORSを具体的に設定できますか?これに代えて

答えて

1

app.use(function(req, res, next) { 
    res.header("Access-Control-Allow-Origin", "*"); 
    res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept"); 
    next(); 
}); 

あなたが使用することができます。

app.use('/some/endpoint', function(req, res, next) { 
    res.header("Access-Control-Allow-Origin", "*"); 
    res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept"); 
    next(); 
}); 

をあなたが方法をより詳細に制御する必要がある場合は、例えばCORSをGETにしたいがPUTやそのようなものではない場合は、ヘッダーを追加する前にリクエストオブジェクトを検査することもできます。

+0

ありがとうございました。スポット;-) – HomerPlata

関連する問題