두 개의 서버가 있습니다. App & 웹, App은 OWIN이 보안 웹 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 헤더 '액세스 제어 - 허용 - 기원'과 일치하지 않습니다 '(널)'
내가 여기 실종이고 어떻게 어떻게해야합니까 CORS 오류가 사라 졌나요?
물론
이에 대한 응답을 변경 시도하고 작동되는지 확인합니다. 액세스 제어 허용 헤더 : Content-Type 액세스 제어 허용 방법 : 가져 오기, 게시, 옵션 액세스 제어 허용 허용 원본 : *. 나는 별표가 전반적으로 작동한다고 생각하지만 아마도 문제를 야기하고있을 것이다. – user2263572
요청 헤더에 표시되는 'http : // mysite'원점 대신 브라우저가 원점이 'null'이라고 결정한 이유를 알아야합니다. https://stackoverflow.com/questions/42239643/when-does-firefox-set-the-origin-header-to-null-in-post-requests/42242802#42242802 브라우저가 원산지를 결정하는 몇 가지 사례를 나열합니다. '없는'. 나는이 사건에서 일어날 수있는 가장 가능성있는 일이있을 것이라고 생각한다. – sideshowbarker