Eu tenho usado o ISA no Windows Server 2003 para publicar vários servidores da Web hospedados na mesma máquina. Configure da seguinte maneira:
- Listener ISA HTTP / S vinculado a 127.0.0.1 + IP externo
- IIS vinculado a 127.0.0.2
- Apache vinculado a 127.0.0.3
- Aplicativo da web em Python vinculado a 127.0.0.4
- Aplicativos personalizados vinculados a 127.0.0.x
Eu poderia rotear solicitações dependendo do nome do host para o servidor específico, configurando as regras de publicação no ISA. O ISA me permitiu manter o IP do cliente original e o nome do host solicitado e tinha vários outros recursos, como validação de solicitação, mapeamento de URL, regravação e armazenamento em cache.
Agora estou no Windows Server 2008 R2, o ISA não funciona aqui, o TMG é um PITA enorme (e nem funciona com a minha configuração de IP - gw padrão 10.255.255.1, máscara de sub-rede 255.255.255.255 ), e ISA geralmente provou ser difícil quando se tratava de RPC e outro tráfego de rede interna. Então eu estou procurando uma maneira de fazer o mesmo, especialmente quando se trata de manter o IP do cliente original. Eu tentei Faststream IQ Proxy, que parecia promissor, especialmente porque ele instalou seu próprio driver NDIS, e a publicação do servidor funcionou bem, mas o IP do cliente está sempre perdido. Delegado e Squid podem ser candidatos. mas eles não instalam nenhum driver de camada de rede, então parece impossível para eles manter o IP do originador.
Atualmente, estou executando o IIS no IP externo e 127.0.0.1 e usando o ARP com o Proxy Reverso para publicar outros servidores; no entanto, ele não funciona muito bem e o IP do cliente ainda é perdido para os servidores com proxy. Para ser honesto, é uma merda, e eu realmente sinto muito que o IIS 7.5 ainda não inclua uma solução de proxy reversível viável como a ISA anos atrás.
Alguém conhece um software que arquiva os mesmos efeitos de publicação de servidor web como no ISA, de preferência com uma GUI decente (eu também poderia viver com arquivos de configuração), que reverte as solicitações de proxies para servidores web locais, sem perder informações de nome de host e IP original do cliente? Ou estou condenado a fazer com que o TMG funcione na minha configuração?