Usando o IIS7 como um proxy reverso

3

Estou configurando um servidor em casa para hospedar alguns sites pequenos. Um deles é baseado em .NET e precisa do IIS, os outros são baseados em PHP e precisam do Apache. Portanto, tenho o IIS 7 e o Apache 2.2.x instalados no meu servidor com o IIS na porta 80 e o Apache em execução na porta 8080.

Eu gostaria de configurar o IIS para funcionar como um proxy reverso, encaminhando as solicitações dos sites do Apache para a porta 8080 e atendendo às solicitações do próprio site .NET com base nos cabeçalhos do host. Assim:

www.mydotnetsite.com/* -> IIS -> serve from IIS
www.myapachesite.com/* -> IIS -> forward to apache on port 8080
www.myothersite.com/*  -> IIS -> forward to apache on port 8080

Eu fiz um pouco de googling e parecia que o recurso Application Request Routing faria o que eu precisava, mas parece que não consigo fazer funcionar do jeito que eu quero. Eu posso fazer isso para encaminhar todo o tráfego para o servidor Apache e posso fazer com que ele encaminhe o tráfego com um padrão de URL específico para o servidor Apache, mas parece que não consigo encaminhar com base nos cabeçalhos do host (por exemplo, "encaminhar todos os pedidos para www.apachesite.com - > localhost: 8080 ")

Então a questão é: como eu configuraria o ARR para fazer isso? Ou eu preciso de uma ferramenta diferente?

Também estou aberto para usar o Apache como proxy reverso e encaminhar as solicitações do site .NET para o IIS, se for mais fácil (executando o Apache na porta 80 e o IIS no 8080).

    
por Eric Petroelje 18.08.2009 / 03:30

2 respostas

2

Sugiro inverter as coisas. Você terá muito menos problemas executando o Apache na porta 80 e fazendo com que ele execute as tarefas de proxy, com o IIS no 8080.

    
por 18.08.2009 / 04:31
7

Eric, essa é uma pergunta antiga agora, mas deixarei uma resposta sobre a opção ARR para futuros leitores. Para redirecionar com base nos cabeçalhos do host, use {HTTP_HOST} na seção Condições. O ARR suporta lógica de redirecionamento com base em todas as variáveis do servidor, então você tem bastante flexibilidade (tanto quanto mod_proxy).

    
por 19.05.2010 / 15:16