O IIS pode ser configurado para servir sites diferentes, dependendo do ip da conexão de entrada?

1

Estou procurando uma página "Trabalho em andamento" para a maior parte da Internet, permitindo acesso ao próprio site a partir de alguns endereços IP de teste específicos.

Isso é possível com o IIS 7? Como você faria isso?

    
por blueberryfields 31.01.2012 / 20:28

1 resposta

3

Você pode utilizar o módulo IP e Restrições de domínio, ou baixar e instalar o módulo URL Rewrite 2.0 e usá-lo. Aqui estão dois exemplos:

Eu provavelmente usaria a seguinte configuração:

Usando Restrições de IP e domínio

2 sites:

  1. www.website.com: No IP restrictions, "Work in progress" content
  2. restricted.website.com: Appropriate IP restrictions, actual content

Eu teria então o documento raiz (index.aspx, index.php, default.aspx, whatever), redirecionaria os usuários com os endereços IP apropriados, usando Request.UserHostName() (se .NET) ou $_SERVER[REMOTE_ADDR] (se PHP).

Usando o módulo URL Rewrite

Uma alternativa possível seria usar o módulo de regravação de URL para reescrever solicitações para o site, com a propriedade REMOTE_ADDR como condição.

<rule name="ip-rewrite" stopProcessing="true">
  <match url="website.com" />
  <conditions logicalGrouping="MatchAny">
    <add input="{REMOTE_ADDR}" pattern="127.0.0.1" negate="true" />
    <add input="{REMOTE_ADDR}" pattern="123.55.44.16" negate="true" />
    <add input="{REMOTE_ADDR}" pattern="23.34.48.8" negate="true" />
    <add input="{REMOTE_ADDR}" pattern="201.0.245.13" negate="true" />
  </conditions>
  <action type="Rewrite" url="http://www.website.com/inprogress/default.aspx" appendQueryString="false" />
</rule>

Isso reescreverá automaticamente TODAS as solicitações que NÃO vierem dos 4 endereços IP predefinidos, para /inprogress/default.aspx, em vez do site real

    
por 31.01.2012 / 20:57