Como faço para encaminhar solicitações da web para minha rede privada, dependendo do domínio na URL?

3

Cenário:

Devido ao número limitado de IPs, vários domínios são resolvidos no mesmo endereço IP. No entanto, esses domínios podem não ser todos executados no mesmo servidor da Web, VM ou até mesmo na máquina dedicada. Portanto, gostaria de rotear os domínios no ponto de entrada na rede privada para o local correto na condição do domínio na URL.

Como posso fazer isso?

    
por txwikinger 11.08.2010 / 19:24

4 respostas

3

A maioria dos roteadores / firewalls permite redirecionar o tráfego com base em uma determinada porta, por exemplo, todo o tráfego SMTP (porta 25) é redirecionado para 192.168.1.1.

Mas se você tiver vários servidores para gerenciar seu tráfego (1 servidor por domínio). Você precisa instalar algo como um proxy reverso ( nginx suporta isso para HTTP, IMAP, POP3). Por exemplo, todo o tráfego para a porta 80 é redirecionado para 192.168.1.2 , que executa nginx e, dependendo do nome do host, será redirecionado para localhost ou 192.168.1.4 .

    
por 12.08.2010 / 08:55
0

Não tenho certeza se entendi completamente sua pergunta. Se eu fizer isso, você tem várias máquinas em execução como servidores HTTP por trás do NAT. Quando algum pedido chega, você quer encaminhá-lo para um dos seus servidores, certo?

Se você estiver usando o apache e o mod_rewrite, poderá conseguir desta forma:

  1. link

  2. link

Felicidades.

    
por 11.08.2010 / 19:51
0

Eu fiz algo semelhante usando a diretiva ProxyPass em mod_proxy no Apache.

Antes de mais nada, use Hospedagem virtual baseada em nome para permitir que diferentes domínios seja hospedar sites diferentes usando o mesmo IP, então, para os domínios associados a um servidor interno, você tem uma configuração assim:

# Within your VirtualHost definition
ServerName somedomain.com
ProxyPass / http://10.0.1.42/
ProxyPassReverse / http://10.0.1.42/

Isso fará com que todas as solicitações para http://somedomain.com sejam transparentemente intermediadas por proxy para um site interno hospedado em http://10.0.1.42 .

HTH

    
por 12.08.2010 / 11:27
0

Eu estava procurando a mesma coisa há um tempo atrás. Nunca cheguei a fazê-lo, mas aqui está o que eu poderia funcionar.

use o módulo mod _proxy e use a diretiva noproxy .

link

    
por 11.08.2010 / 19:56