2012-05-06 4 views
0

2 개의 asp.net 프로젝트가 있습니다. API 및 웹 클라이언트 프로젝트. 테스트 할 때 동일한 출발 정책을 극복하여 다른 포트에서 테스트 할 수 없습니다.도메인을 로컬 호스트의 IIS7 가상 디렉터리에 매핑하십시오.

visual studio를 사용하여 API를 http://localhost/api에 매핑했지만 다른 프로젝트는 http://localhost/으로 매핑 할 수 없습니다. 응용 프로그램에 / 루트에 대한 참조 (양식, 스크립트 등)가 포함되어 있기 때문에 루트로 지정해야하는 이유가 있습니다. 약간의 독서를하고 난 후에, 나는 do not가하고 싶어하는 wwwroot에 게시 할 필요가있다.

다음으로 도메인을 내 가상 디렉터리 http://localhost/webhttp://localhost/api =>someDomain.comsomeDomain.com/api에 매핑하는 것으로 가정합니다. 어떻게해야합니까? 호스트 파일 작업을 넣은 사람은 아니다 편집 :

http://localhost/web app.com 
http://localhost/api api.app.com 

문제 (해결 둘 중 하나는 나를 위해 작동합니다) :

  1. 포인트 http://localhost/http://localhost/web에 참조하는 문제를 해결하기 위해.
  2. 내 가상 디렉터리를 http://localhost/에 만듭니다. enter image description here
  3. 도메인을 로컬 호스트 가상 디렉터리에 매핑하십시오.

답변

2

원하는 것을하기 위해 로컬 호스트에 "역방향 프록시"를 설정할 수 있습니다.

기본적으로 클라이언트가 http://localhost/api에 연결할 때 프록시는 해당 요청을 http://somedomain.com/api으로 중계 한 다음 응답을 가져와 원래 클라이언트에 다시 전달할 수 있습니다. 클라이언트의 관점에서 요청은 localhost로 보내지고 응답은 localhost에서옵니다. 네임 서버를 조작하는 일은 없습니다. 당신은 IIS6을 또는 Microsoft 확장을 사용하지 않으려면

IIS Team's announcement of Reverse Proxy

는 다른 옵션이 있습니다. 하나는 IIRF입니다.

+0

내가 할 일은 내 브라우저의'localhost'입니다. 프록시가'localhost/web'로 보냅니다. 평범한'localhost' 루트를 사용하려고 할 때 이것을 리버스 프록시로 볼 수 있습니까? –

+0

예; 당신은 그것을 할 수 있습니다. html 페이지에서 참조하는 이미지, 스타일 및 자바 스크립트와 같은 다른 애셋 경로에주의해야합니다. 그러나 네, 그렇게 할 수 있습니다. – Cheeso

관련 문제