2011-09-25 2 views
4

사용자가 http://mywebsite/test을 입력하면 사용자가 인트라넷 테스트 웹 사이트 (http://mywebsite:9090)에 액세스하도록합니다.IIS 7.5 역방향 프록시가있는 URL을 기본 웹 사이트에서 두 개의 웹 사이트로 다시 작성하지 못했습니다.

다음 섹션 - 7. 역방향 프록시를 다른 사이트/서버에 http://blogs.iis.net/ruslany/archive/2009/04/08/10-url-rewriting-tips-and-tricks.aspx에 입력하여 URL 다시 쓰기를 만듭니다.

다음은 IIS 관리자의 응용 프로그램 요청 라우팅 기능보기에있는 "프록시 사용"확인란을 선택한 경우입니다. 나는 다음과 같은 규칙을 가지고있다. -

<rule name="Proxy"> 
    <match url="(.*/test)" /> 
    <action type="Rewrite" url="http://{HTTP_HOST}:9090/{R:1}" /> 
</rule> 

그러나 이것은 작동하지 않는다. 그것은 나를 http://mywebsite:9090으로 안내하지는 않지만 http://mywebsite/test을 찾을 수 없습니다.

<rule name="Proxy"> 
    <match url="(.*)" /> 
    <action type="Rewrite" url="http://{HTTP_HOST}:9090/{R:1}" /> 
</rule> 

내가 http://mywebsite를 검색 할 때 http://mywebsite:9090에 나를 안내 할 수 있습니다 볼 수 있습니다 -

는 사용하여 프록시 문제가 있는지 확인하기 위해 규칙을 변경.

첫 번째 규칙은 어떻게됩니까?

도움 주셔서 감사합니다.

+0

획을 더 많은 정보가 될 것입니다 : D 내가 여기에 필요한 것을 발견했다. – tugberk

답변

6

은 당신이 원하는 것이 규칙입니다 :

"^ 테스트 (/.*)?$"

귀하의 작업은 동일하게 유지 할 수 있습니다.

위의 규칙을 사용하면 "첫 번째 슬래시 (예 :"http://mywebsite.com/ ")가 포함 된 URL의 HTTP_HOST 부분 다음에 오는 첫 번째 것이 테스트와 같으면 당신은 URL의 나머지 부분 (만약 있다면) 모두에서 캡쳐 그룹을 만들고, HTTP_HOST를 갖도록 URL을 다시 쓰고, 포트 9090을 추가 한 다음 첫 번째 캡처 그룹에 있던 내용 (예 : R : 1, 어떤 정규식에서 괄호)에 있습니다.

당신이 정규식의 일환으로 필요하고 필요하지 않습니다 무엇을 캡처하는대로 추가 쿼리 문자열 선택을 취소해야합니다.이 때문에의

신용, 나는 이것도 해결하는 데 어려움을 겪고있었습니다. 질문의

http://forums.iis.net/t/1180781.aspx

+0

답장을 보내 주셔서 감사합니다. 그러나 그것은 나를 위해 작동하지 않습니다. http://mywebsite.com/test에 입력하면 IIS URL 다시 쓰기의 테스트 패턴에서 유효성 검사 오류가 발생합니다. 나는 충분히 명확하게하지 않을 수도 있습니다. 내가 원하는 것은 9090을 인터넷에 열어 놓는 것을 좋아하지 않는다는 것입니다. 사용자가 http://mywebsite.com/test에서 입력 할 때 IIS는 내부적으로 http://mywebsite.com/test를 http://mywebsite.com:9090으로 다시 작성하고 포트 80을 통해 테스트 사이트를 제공 할 수 있습니다. http : // mywebsite.com/은 인터넷에 개방 된 포트 80을 사용하는 생산 사이트입니다. URL 재 작성을 통해 가능합니까? 다시 한 번 감사드립니다! – Don

+0

다음을 시도해보십시오. 빈 규칙을 사용하고 위에서 언급 한 규칙을 일치 항목으로 추가하고 (Regex를 선택했는지 확인) Google 사이트와 같은 알려진 작업 사이트로 리디렉션하도록 선택합니다. 유효성 검사에 실패했거나 실패하지 않아도 안된다고해도 걱정하지 마십시오. 사용하지 않아도됩니다. 귀하의 사이트/테스트로 이동하여 Google로 리디렉션되는지 확인하십시오. 그렇다면 사이트를 참조하는 올바른 방법 (예 : mywebsite : 9090) 만 있으면됩니다. 희망이 도움이됩니다. – brettbaggott

+0

브렛, 네 말이 맞아. 나를 Google로 안내 할 수 있습니다. 난 그냥 mywebsite : 9090로 직접가는 방법을 알아 내야합니다. 감사! – Don

관련 문제