2017-04-22 13 views
1

私はnodejs expressテンプレートの購入を開始しました。私はローカルホストにアクセスするときExpress CORSが動作しない

var express = require('express'); 
var cors = require('cors'); 
var app = express(); 

app.use(cors()); 

var corsOptions = { 
    origin: 'https://example.com/', 
    optionsSuccessStatus: 200 
}; 

app.get('/', cors(corsOptions), function(req, res, next) { 
    res.json({ message: 'hooray! welcome to our api!' }); 
}); 

app.get('/tt', function(req, res, next) { 
    res.json({ message: 'hooray! welcome to our api!' }); 
}); 

var port = process.env.PORT || 3030; 
app.listen(port); 
console.log('Magic happens on port ' + port); 

上記のコードで今すぐ:3030/TTまたは/私はまだコンテンツおよびIを参照してください

私はNPM CORSがここ

がファイルである--saveインストールに使用しましたすべきではありません

これは何の問題ですか?私はこれで2時間働いています。:( CORSを使用しないことを望みますが、近いうちに私のアプリケーションが終了したら欲しい私のプロジェクトからの着信のみを許可するには、このアプリは私のAPI。

答えて

2

あなたが記述している動作は、私が期待しているようです。

CORSは、サーバー上の着信コールを除外するのに役立ちません。この場合、ブラウザのURLに直接入力しているように見えるので、ブラウザのCORSチェックは機能しません。ブラウザは、特定のドメインからロードされたWebページが別のドメインのURLにアクセス/送信しようとした場合にのみ、CORSチェックを行います。

CORSについて考える方法は異なります。 CORSは、アクセスされているサーバーコードではなく、ブラウザの前に座っているユーザーを保護することを目的としています。

+0

ご返信ありがとうございます。 mywebpage.comからのアクセスのみを許可するには、apiserver.comのプロトタイプを作成するのが最善でしょうか? – Marketingexpert

関連する問題