2010-06-30 15 views
9

Utilizzando IIS7, come si indirizzano gli indirizzi interni private network IP al mio sito Web mentre indirizzo gli indirizzi IP esterni a una pagina "sito in manutenzione"?IP diversi diretti su diverse pagine su IIS7

Finora su IIS7 ho trovato la sezione in IIS denominata "Indirizzo IPv4 e limitazioni di dominio" e posso aggiungere i 3 intervalli interni a tale come intervallo consentito. Sembra facile. Ora come faccio a dirigere tutto il resto del traffico verso una pagina statica come app_offline.html che ho creato. (In realtà non utilizzerò app_offline.html perché ovviamente l'app verrà offline anche per gli indirizzi interni.)

+1

Più adatto per http://www.serverfault.com IMO – MikeD

+3

Questi sono gli sviluppatori che implementano un'applicazione Web e configurano IIS7, quindi, se si considera SO o SF, ho pensato che sarebbe stato il posto migliore. – Guy

risposta

17

È possibile utilizzare Riscritto URL (http://www.iis.net/download/URLRewrite) per quello. Quindi è possibile rilasciare una web.config con i contenuti come:

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

Ciò che fondamentalmente fa è di applicare questa regola solo se il contenuto non è già nella pagina "site-under-construction" (per evitare infinite reindirizzamenti), e si applica solo se l'indirizzo IP non proviene da 192.168.XXX.XXX (e non è localhost).

In caso contrario, consentirà loro di passare a qualsiasi pagina richiesta.

Si noti che questo non deve essere utilizzato come meccanismo di sicurezza poiché Remote Addr potrebbe essere contraffatto, ma suona come per il proprio scenario dovrebbe andare bene.

Problemi correlati