Como filtrar / redirecionar os URLs que entram na rede?

1

Não tenho certeza se isso é possível ou não, mas o que eu gostaria de fazer é o seguinte:

Eu tenho um endereço IP (dinâmico usando zoneedit.com para mantê-lo atualizado). Eu tenho um webserver rodando meu site principal, que é uma máquina Ubuntu rodando o Apache. Eu também tenho um servidor do Windows 2008 executando outro site. Apenas para confundir as coisas eu também uso parte do meu site Apache no servidor windows, atualmente usando proxypassreverse para obter as informações dele. Parece algo assim:

IP 1.2.3.4

maps to       example.com
as well as    example.org

Todas as solicitações que entram na porta 80 são encaminhadas para a caixa do Apache e eu uso as configurações do Virtualhost para fazer proxy dos sites do Windows onde necessário.

Portanto, example.com é um site do Apache, example.com/mywindowssection é o servidor Apache usando proxypassreverse para obter parte do site do servidor Windows.

example.org usa o Apache e proxypassreverse para obter o site inteiro.

O que eu gostaria de poder fazer é encaminhar todas as solicitações de http que entram na minha rede para uma máquina que descobre quem deve estar atendendo a esse conteúdo? Então:

  • example.com iria para a máquina Apache
  • example.org iria para o Windows.

Eu estou apenas no processo de configurar um gateway Astaro (nunca fiz isso antes, portanto, demorando um pouco para configurar) como meu firewall, dns, dhcp etc, não sei se isso pode lidar com isso. Eu tenho a capacidade de executar uma VM na rede se uma caixa separada fosse necessária para esse processo também.

Obrigado por todo e qualquer feedback.

    
por Jon 10.01.2010 / 11:52

1 resposta

1

Não estou 100% claro sobre qual é o seu objetivo, mas há um programa de proxy reverso do Unix chamado libra ( provavelmente disponível no repositório de pacotes do Ubuntu) que permitirá redirecionar solicitações HTTP para diferentes servidores de backend com base em expressões correspondentes.

Então você teria libras rodando no seu servidor Ubuntu front-end na porta 80. No back-end, você teria o Apache + Ubuntu rodando em alguma outra porta (8080, por exemplo) e o servidor Windows (s ) rodando em alguma (s) porta (s). Em seguida, você informa a libra que servidor / porta de backend para encaminhar a solicitação para cada expressão regular de domínio e / ou URL necessária para classificar as solicitações por.

Não sei por que você deseja evitar um proxy no mix, pois é exatamente isso que você precisa. Eu não acredito que você pode conseguir o que você precisa sem um. Quanto a esses proxies, a libra é bem pequena e rápida. Se é caching você deseja evitar, devido ao uso de conteúdo dinâmico, libra não faz qualquer cache.

    
por 11.01.2010 / 04:39