2010-06-30 18 views
9

Utilizando IIS7, ¿cómo dirijo las direcciones IP internas de private network a mi sitio web mientras dirijo las direcciones IP externas a la página "sitio bajo mantenimiento"?Directivas IP diferentes a diferentes páginas en IIS7

Hasta ahora en IIS7 encontré la sección en IIS llamada "Restricciones de dominio y dirección IPv4" y puedo agregar los 3 rangos internos a eso como un rango permitido. Eso parece fácil. Ahora, ¿cómo puedo dirigir el resto del tráfico a una página estática como app_offline.html que he creado? (En realidad, no voy a usar app_offline.html porque obviamente también desconectará la aplicación de las direcciones internas)

+1

Más adecuado para http://www.serverfault.com IMO – MikeD

+3

Estos son los desarrolladores que implementan una aplicación web y configuran IIS7 por lo que al considerar SO o SF pensé que este sería el mejor lugar. – Guy

Respuesta

17

Puede usar la Reescritura de URL (http://www.iis.net/download/URLRewrite) para eso. A continuación, puede caer un web.config con el contenido como:

<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> 

Lo que hace básicamente es sólo para aplicar esta regla si el contenido no es ya la página "sitio en construcción" (para evitar infinita redirige), y solo aplica esto si la dirección IP no proviene de 192.168.XXX.XXX (y no es localhost).

De lo contrario, les permitirá acceder a la página solicitada.

Tenga en cuenta que esto no se debe usar como un mecanismo de seguridad ya que Remote Addr podría ser falso, pero suena como si su escenario estuviera bien.

Cuestiones relacionadas