2017-01-25 9 views
1

私は現在何かを開発しており、Django CORSの問題に取り組んでいます。私はこの問題を解決するためにthisに従ってきましたが、私はホワイトリストを入れたいと思っていませんでした。私は「No」のAccess-Control-Allow-Originヘッダーが要求されたリソース。私はデータベース上でGET要求をしようとすると。Django CORSの問題

具体的には、別のドメイン(AWS S3)でホストされている角ウェブアプリケーションを開発していますが、Django dbはAWS EC2にあります。ホワイトリストは、たとえばlocalhost:3000をホワイトリストに登録したときにローカルで動作しますが、s3ドメインをホワイトリストに登録すると動作しないようです。私がDjangoにすべてを許可するように設定してもセキュリティ上の目的でそれをしたくない場合は動作します。私は現在、いくつかの正規表現をドメインに追加しようとしていますが、localhost:3000 /#/ page/page2のほうがlocalhost:3000になった理由を説明していません。次のように

私のjavascriptのコードは次のとおりです。

$http({ 
    url: "api/url", 
    method: 'GET', 
    withCredentials: true, 
    headers: { 
     'Accept': 'application/json', 
     'Content-Type': 'application/x-www-form-urlencoded', 
     'Authorization': 'accesstoken' 
    } 
    }).then((response) => { 
    $scope.response = response; 
    }, (data) => { 
    $scope.response = data; 
    }) 

あなたは、追加情報が必要な場合は、私に教えてください。

答えて

0

明らかに正規表現のホワイトリストが機能します。 django corsヘッダのドキュメントに続いて、あなたのドメイン用の正規表現を含めるだけで、Django dbにアクセスしようとするどのルートでも動作します。なぜローカルホストが働いたのか分かりませんが、これはできませんでした。また、ルートをホワイトリストとして追加していませんでしたが、私は不平を言っていません。