Tecnologias de servidor duplo em um computador [fechado]

1

Atualmente, tenho o IIS em execução no meu servidor da web em casa e estou usando o DNS2Go para fornecer um nome de domínio estático. Meus sites antigos usam ASP com VB Script e um banco de dados Access através de drivers ODBC e meus sites mais recentes usam APACHE, PHP e MySQL. Eu quero ser capaz de continuar a servir as páginas ASP ao lado das páginas PHP e, tanto quanto eu sei, posso configurar os dois servidores em um computador, desde que eu use números de portas diferentes.

Como eu lidaria com solicitações de link com o servidor IIS e as solicitações para link com o servidor appache? Realmente gostaria de poder encaminhar o pedido para o servidor certo para qualquer diretório que eu goste.

    
por Goyuix 04.09.2011 / 14:23

2 respostas

5

Como alguns usuários estão protegidos por firewalls corporativos e não têm nenhuma possibilidade de acessar portas diferentes de 80 ou 443, você não deve simplesmente redirecionar os usuários para outras portas, mas sim fazer o proxy das solicitações. Embora isso signifique usar mais recursos do apache, isso ajuda muito os usuários.

Você consegue isso permitindo que o apache2 seja executado na porta 80 e no IIS em alguma outra porta, por exemplo, 10080. No arquivo de configuração do apache2, você usa a seguinte diretiva para proxy através de solicitações em urls especiais:

ProxyPass /iis/ http://localhost:10080/
ProxyPassReverse /iis/ http://localhost:10080/

Você precisa de um módulo mod_proxy ativo para isso e pode usar reescreve para maior funcionalidade, por exemplo somente intermediando suburls específicos para o IIS.

    
por 04.09.2011 / 15:18
0

Bem, primeiro o que vem à minha mente - deixe o apache ao vivo na porta 80 e use mod_rewrite para redirecionar caminhos específicos para outra porta.

# replace [iis_port#] with something like 8080 or wherever you put it
RewriteRule ^/iis(.*) http://www.domain.myip.org:[iis_port#]$1 [R]

# or the whole host
RewriteCond %HTTP_HOST% www.domain.iis.myip.org
RewriteRule (.*) http://www.domain.iis.myip.org:[iis_port#]$1 [R]

Esta é uma solução bastante simples, por isso alguém pode postar algo melhor.

    
por 04.09.2011 / 14:57