Regra de reescrita de saída do proxy reverso ARR para redirecionamentos

2

Atualmente, estou tentando reunir uma prova de conceito sobre a mistura de várias tecnologias em um site para facilitar as migrações e adicionar flexibilidade. A idéia é criar um site 'mashup' por trás de um proxy reverso ARR do IIS 7.5.

Por enquanto, o proxy reverso ARR encaminha todas as solicitações para o nosso site principal. A solicitação é a seguinte:

 client -> ARR: Get /
 ARR -> Server 1: Get /
 Server 1 -> ARR: 200: /index.htm
 ARR -> client: 200: /index.htm

... até aí tudo bem.

Digamos que eu queira adicionar um novo site (raiz de outro servidor) como um subsite do meu site principal. uma simples regra de entrada faz o truque:

<rule name="sub1" stopProcessing="true">
  <match url="^mySubsite(.*)" />
  <conditions logicalGrouping="MatchAll" trackAllCaptures="false" />
  <action type="Rewrite" url="http://server2/{R:1}" />
</rule>

Os pedidos agora são:

 client -> ARR: Get /mySubsite
 ARR -> Server 2: Get /
 Server 2 -> ARR: 200: /index.htm
 ARR -> client: 200: /index.htm

... ainda está bem.

O problema surge quando o site no servidor2 envia um redirecionamento (por exemplo, para uma página de login). No caso do SharePoint, ele redirecionará o usuário para: /_layouts/Authenticate.aspx?Source=%2F ... o que não existe:

client -> ARR: Get /mySubsite
ARR -> Server 2: Get /
Server 2 -> ARR: 301: /_layouts/Authenticate.aspx?Source=%2F
ARR -> client: 301: /_layouts/Authenticate.aspx?Source=%2F
client -> ARR: Get /_layouts/Authenticate.aspx?Source=%2F
ARR -> client: 404: Not Found

Alguém sabe como gravar a regra de saída para reconfigurar a resposta do servidor 2 "301: /_layouts/Authenticate.aspx?Source=%2F" para "301: /mySubsite/_layouts/Authenticate.aspx?Source=%" 2FmySubsite% 2F "?

    
por E. Jaep 21.06.2012 / 21:54

1 resposta

1

Eu resolvi isso usando subdomínios. Então, ao invés de:

www.mydomain.com/mysite1
www.mydomain.com/mysite2

Estou usando:

mysite1.mydomain.com
mysite2.mydomain.com

Isso significa que todos os links e redirecionamentos relativos ainda funcionam como antes.

Se realmente houver necessidade de reescrever o cabeçalho de local, consulte este passo a passo

    
por 04.06.2013 / 22:59