私は2つのサーバーを持っています:App & Web、アプリケーションはOWINによって保護されたWeb API 2 APIをホストしています。Webはapiを呼び出すAngular 1.6アプリケーションです。Web Api 2とAngularの間のCORSエラー
私のヘッダーには、次のようになります。
要求:
Host: app
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Firefox/52.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Access-Control-Request-Method: GET
Access-Control-Request-Headers: authorization
Origin: http://mysite
Connection: keep-alive
応答:私は含めるように私のweb.configファイルを開いてきました
Access-Control-Allow-Headers: *
Access-Control-Allow-Methods: *
Access-Control-Allow-Origin: *
Allow: GET
Content-Length: 83
Content-Type: text/html; charset=utf-8
Date: Tue, 11 Apr 2017 16:41:04 GMT
Server: Microsoft-IIS/10.0
X-Powered-By: ASP.NET
:
<httpProtocol>
<customHeaders>
<add name="Access-Control-Allow-Origin" value="*" />
<add name="Access-Control-Allow-Methods" value="*" />
<add name="Access-Control-Allow-Headers" value="*" />
</customHeaders>
</httpProtocol>
私も持っています:
config.EnableCors(new EnableCorsAttribute("*", "*", "*"));
私のエラーは、次のとおりです。
理由:CORSヘッダー「アクセス制御 - 許可 - 起源」と一致しません「(null)」の
私はここに行方不明だとどのように私は作るのですかCORSのエラーは消えますか?もちろん
は、これに応答を変更してみてください、それが動作するかどうかを確認します。 Access-Control-Allow-Headers:Content-Type、 アクセス制御許可メソッド:GET、POST、オプション アクセス制御許可元:*。私はアスタリスクが全面的に働くと思うが、おそらくそれは問題を引き起こしている。 – user2263572
リクエストヘッダーに表示されている「http:// mysite」の起点ではなく、ブラウザが「null」であるとブラウザが判断した理由を理解する必要があります。 https://stackoverflow.com/questions/42239643/when-does-firefox-set-the-origin-header-to-null-in-post-requests/42242802#42242802には、ブラウザが原点を決定する場合があります'ヌル'。私は、このケースで起こっている可能性が最も高いのは、起点で起こっているいくつかのクロスオリジンリダイレクトがあることです – sideshowbarker