2010-06-30 2 views
9

IIS7을 사용하면 외부 IP 주소를 "유지 관리중인 사이트"페이지로 유도하는 동안 내부 주소 private network을 내 웹 사이트로 보내는 방법은 무엇입니까?다른 IP를 IIS7의 다른 페이지로 직접 연결

지금까지 IIS7에서 "IPv4 주소 및 도메인 제한"이라는 IIS 섹션을 발견했으며이를 허용 범위로 3 개의 내부 범위를 추가 할 수 있습니다. 그렇게 쉬운 것 같습니다. 이제는 다른 모든 트래픽을 내가 만든 app_offline.html과 같은 정적 페이지로 이동시키는 방법은 무엇입니까? (실제로 app_offline.html을 사용하지는 않을 것입니다. 내부 주소에 대해서도 앱을 오프라인으로 전환 할 것이기 때문입니다.)

+1

http://www.serverfault.com에 더 적합합니다. IMO – MikeD

+3

이들은 웹 응용 프로그램을 배포하고 IIS7을 구성하는 개발자이므로 SO 또는 SF를 고려할 때 이것이 더 나은 곳이라고 생각합니다. – Guy

답변

17

URL 재 작성 (http://www.iis.net/download/URLRewrite)을 사용할 수 있습니다.

하는
<configuration> 
    ... 
    <system.webServer> 
    <rewrite> 
     <rules> 
     <rule name="External IP" stopProcessing="true"> 
      <match url="site-under-construction\.htm" negate="true" /> 
      <conditions> 
      <add input="{REMOTE_ADDR}" pattern="192\.168\.\d+\.\d+" ignoreCase="false" negate="true" /> 
      <add input="{REMOTE_ADDR}" pattern="::1" ignoreCase="false" negate="true" /> 
      <add input="{REMOTE_ADDR}" pattern="127\.0\.0\.1" ignoreCase="false" negate="true" /> 
      </conditions> 
      <action type="Redirect" url="/site-under-construction.htm" redirectType="Found" /> 
     </rule> 
     </rules> 
    </rewrite> 
    </system.webServer> 
    ... 
</configuration> 

는 기본적으로 내용이 "사이트에서-건설"페이지가 아직없는 경우에만이 규칙을 적용하는 것입니다 무엇을 (무한 방지하기 : 은 그럼 당신은 같은 내용으로 Web.config의 드롭 수 리디렉션) IP 주소가 192.168.XXX.XXX에서 오지 않고 로컬 호스트가 아닌 경우에만이 옵션을 적용하십시오.

그렇지 않으면 요청한 페이지로 연결됩니다.

Remote Addr이 스푸핑 될 수 있기 때문에 보안 메커니즘으로 사용해서는 안되지만 시나리오에 맞는 것처럼 들리므로주의하십시오.

관련 문제