2009-03-18 2 views
2

다음은 시나리오입니다. 서버 A가 '기본'응용 프로그램 (www.example.com)을 호스트합니다. 서버 B가 지원 응용 프로그램 (b.example.com)을 호스트하고 있습니다. 이들은 192를 통해 서로 내부적으로 연결되어 있습니다. * 주소와 DNS를 통해 외부에서 모두 사용할 수 있습니다IIS 6 - 다른 서버의 IIS 응용 프로그램을 가리키는 가상 디렉터리를 만드시겠습니까?

서버 A UNC 공유를 통해 매핑되는 몇 가지 가상 디렉터리가 있습니다 www.example.com/virtual1 -> \ 192.168.1.1 \ virtual1 (서버 B에)

을 서버 B (IIS를 통해 제공)에있는 응용 프로그램을 실행하여 마치 serverA에서 실행중인 것처럼 보이게하고 싶습니다.

www.example.com/application -> b.example.com/app

난 아직도 서버 B 직접

b.example.com/app

에 액세스 할 수 싶어

아이디어가 있으십니까?

편집 :


프록시 뒤에있는 응용 프로그램이 저를 동적으로 형태 "조치"입니다 변경할 수 거부 (도 그것이 나 다른 작업을 변경할 수 있습니다 않았다) 밝혀졌습니다. 서버에서 데이터를 표시 할 수있었습니다. . http://code.google.com/p/iisproxy/

가 나는에 필요한 디렉토리를 일치 서버 A에 가상 디렉터리를 생성 : 너무

을 :(게시 모두 답변을 올바른 방향으로 나를 지적 없습니다 나는 프록시를 사용 서버 B - 작동했습니다 :-)

답변

2

IIS에서 가능해야합니다. 나는 이것을 한 번해야만했던 것을 기억합니다. 당신은 연결로 "문제가있는 경우

그냥 서버 B

에 필요한 자격 증명을 사용하여"... 연결 그대로 "\\ServerB\SharedAppDirOnB를 가리키는 UNC 경로와 (필요한 경우)를 사용하여 가상 디렉터리를 만들 .. . "그것은 서버 B의 폴더 사용 권한 문제 일 수 있습니다. 다음 작업을 시도하십시오. 서버 B의 계정과 동일한 이름과 암호를 가진 새 사용자 계정을 주 서버에 추가하십시오. 바보 같지만 해결 된 것을 기억합니다 내 문제. 예를 들어 두 서버 모두에 새 사용자 계정을 추가 할 수 있습니다 : "IisCommon"은 두 서버에서 동일한 암호를 사용합니다. 그런 다음 서버 B의 폴더 (및 공유 권한!)에 필요한 모든 파일 액세스 권한을 부여했는지 확인하십시오. 공유에 액세스 할 수있는 경우 먼저 Windows 탐색기를 사용하여 수동으로 연결해보십시오.

새 가상 디렉터리를 응용 프로그램으로 표시하고 올바른 실행 권한을 부여했는지 확인하십시오.


또 다른 해결책은 리버스 프록시 어떤 종류의 것입니다. IIS 6.0의 타사 제품을 IIS 용으로 ISAPIrewrite으로 사용했습니다. "프록시"모드를 사용하면 주 서버 (www.example.com/...)의 요청을 다른 서버로 "전달"할 수 있지만 응답은 주 "도메인"응용 프로그램에서 처리 한 것처럼 처리됩니다 . 이 기능을 "프록시 지시문"이라고합니다. 정규식을 허용합니다.

+0

작동하지 않았다 : 도메인 관리자 계정으로 "연결"을했는지 확인하고 실행 권한으로 설정하고 올바른 ASP.Net 버전을 확인하십시오. 404 오류가 발생합니다. 액세스하는 .dll 파일이 존재하지 않는 서버 A의 리소스를 찾고 있습니다. – JayTee

+0

흠 이 문제 역시 : 서버 B의 계정과 동일한 이름과 암호를 가진 주 서버에 새 사용자 계정을 추가하십시오. 문제가 해결됩니다. – splattne

1

서버 A에서 UNC 공유를 통해 가상 디렉터리를 제공하는 것이 제대로 작동하지 않으므로 서버 b에서 b.example.com/app를 제공해야합니다.

DNS는 도메인 이름을 IP 주소로 변환합니다. 다른 URL을 기반으로 서로 다른 두 개의 IP 주소로 확인하기 위해 동일한 도메인 이름을 요구하고 있습니다. 이것은 IIS 나 Windows가 할 수있는 것이 아닙니다.

옵션은 다음과 같습니다

  • 은 당신이 (다만 리디렉션) 완전히 투명하게, 다시 스트리밍해야 할 것하려는 경우 서버 B에 요청을 전달 서버 A에 프록시 서비스를 쓰기 응답도. 이것은 사소한 것이 아니라 가능합니다.

  • 이 URL을 기반으로 트래픽을 분할 할 수 있습니다 두 서버 앞에로드 밸런서를 사용하여 서버 A에 새로운 페이지에 IFRAME에 서버 B 페이지를 넣어
관련 문제