servidores da Web "Divididos"

1

Atualmente, minha empresa tem um único servidor da Web baseado em Windows usado para servir nosso site principal junto com alguns aplicativos .NET, que estão em subdiretórios.

Acabamos de concluir o desenvolvimento de uma nova versão do nosso site principal no Drupal. Meu chefe não quer instalar o PHP em nosso servidor atual.

Temos a capacidade de criar um servidor web virtualizado onde o PHP pode ser instalado e podemos servir nosso site principal. Nós podemos fazer isso LAMP ou Windows. No entanto, meu chefe quer que todos os aplicativos .NET permaneçam no servidor atual.

Como posso configurar o servidor virtualizado que está executando o novo site principal para "enviar" solicitações para os subdiretórios para o servidor original?

    
por Daemon of Chaos 05.10.2010 / 16:40

2 respostas

3

Você provavelmente desejará usar algo como as diretivas proxy reverso do Apache. Pode ser tão fácil quanto:

ProxyPass /foo/ http://www.windowsbox.com/foo/ e ProxyPassReverse /foo/ http://www.windowsbox.com/foo/

Isso redirecionará todas as solicitações para a pasta / foo / no seu servidor Apache, para a pasta / foo / na sua caixa do Windows. Todos os links nas páginas da caixa do Windows serão reescritos para funcionar corretamente também.

Você também pode ter que carregar todos os módulos de proxy listados na parte superior da página via LoadModule .


- Christopher Karel

    
por 05.10.2010 / 16:58
1

Eu uso o SQUID para reescrever de forma transparente usando um script PERL simples que faz o regex especificado com redirect_program .

Outros proxies da Web também suportam a reescrita. Christopher Karel identificou o mod_proxy do Apache e Nginx suporta isso. Na verdade, eu ficaria surpreso se um proxy da Web não suportasse a reescrita.

Esteja certo de entender a distinção entre reescrever e redirecionar:

  • Reconfigurar - faz a proxies de maneira transparente para um servidor de back-end diferente, baseado no URI sem o conhecimento do cliente.
  • Redirect - direciona o cliente para um local diferente como parte do protocolo HTTP.
por 05.10.2010 / 17:46