2013-07-12 1 views
1

두 개의 ASP.NET 웹 응용 프로그램, 하나의 MVC 응용 프로그램 및 하나의 웹 API로 새로운 솔루션을 만들었습니다.두 개의 ASP.NET 웹 응용 프로그램 - 교차 원점 요청은 항상 재량없이 성공합니다.

api.hybridwebapp.com/values과 같은 하위 도메인을 사용하여 API에 액세스하려고 했으므로 모든 API 경로에서 request.RequestUri.Host == "api.mydomain.com"을 보장하는 IHttpRouteConstraint를 구현했습니다. More details in this answer. 80 &에 각 웹 사이트 (hybridwebapp.com에 해당하는 바인딩을 나는이 개 웹 사이트 (각 프로젝트에 대해 하나)을 생성

IIS 관리자에서
127.0.0.1 hybridwebapp.com api.hybridwebapp.com 

및 설정 :

는 그럼 난 내 호스트 파일에 다음 줄을 추가 api.hybridwebapp.com 프로젝트 '웹 속성에서 80)

나는 그 웹 사이트의 각각의 루트에 로컬 IIS 가상 디렉터리 설정에 :

MVC 프로젝트 URL : http://hybridwebapp.com

웹 API 광고 프로젝트 URL : 나는 웹 API에 크로스 도메인 요청을 만들기 위해 MVC 응용 프로그램에서 클릭 핸들러를 만들어 성공적으로 결코 실제로 고르 웹에서 속성을 구성하지 나를에도 불구하고 그것을 만든

http://api.hybridwebapp.com Api.

이것은 제작시 분명히 실패 할 수 있기 때문에 오해의 소지가 있습니다. 더 현실적으로 만들려면 어떻게해야합니까? 더 엄격한 범위를 갖기 위해 CORS 구성을 조정하는 것이 좋겠지 만 모든 요청을 수락 할 때 CORS 구성을 조정해야합니다. 심지어 실패해야하는 구성도 허용합니다.

답변

1

서로 다른 하위 도메인이 완전히 다른 IP 및 서버를 가리킬 수 있기 때문에 교차 도메인 요구는 여전히 교차 도메인 요청으로 간주됩니다. 프로덕션 설정에서 CORS를 올바르게 설정하지 않으면 오류가 발생합니다.

편집 : 생산 설정을 올바르게 에뮬레이션하려면 IIS binding 구성으로 재생해야합니다. 작동시키지 못한다면 api.hybridwebapp.com 호스팅을위한 VM을 사용해보십시오. CORS는 다른 서버간에 자동으로 실행되므로 확실히 작동합니다.

+0

감사합니다. 미안, 내 질문이 분명하지 않다면. 나는 그 문제를 더 잘 반영하도록 내 질문을 변경했다. – parliament

관련 문제