A melhor solução seria usar um proxy reverso HTTP. Para isso você pode usar:
Estamos usando o apache com mod_proxy, mas estou pensando em usar o pound.
Como um appliance de hardware, você pode usar um Cisco Content Service Switch. Veja: link
Eu tenho um endereço IP público, um roteador e vários servidores atrás do roteador.
Gostaria de encaminhar domínios diferentes (todos usando HTTP) através do roteador para diferentes servidores.
Por exemplo:
example1.com => 192.168.0.110
example2.com => 192.168.0.120
foo.example2.com => 192.168.0.130
bar.example2.com => 192.168.0.140
Eu entendo que isso pode ser feito usando o Port Forwarding, mas preciso de todos os hosts em execução na porta 80.
Encontrei algumas informações sobre o IP Masquerading, mas achei isso difícil de entender, e não tenho certeza se é o que estou procurando.
Outra solução que encontrei é direcionar todo o tráfego para o servidor Proxy reverso, que encaminha as solicitações para o servidor apropriado. E quanto ao iptables?
Estou usando um roteador Billion 7404 VNPX. Existe um recurso que esse roteador tenha que possa realizar isso?
Estas são minhas únicas opções? Eu perdi algo completamente? É um recomendado sobre os outros?
Eu pesquisei por aí, mas não acho que estou atingindo as palavras-chave corretas.
A melhor solução seria usar um proxy reverso HTTP. Para isso você pode usar:
Estamos usando o apache com mod_proxy, mas estou pensando em usar o pound.
Como um appliance de hardware, você pode usar um Cisco Content Service Switch. Veja: link
Eu tive uma ideia e gostaria de saber se alguém tem algum feedback sobre isso.
Se eu usar a ideia do Proxy Reverso, acho que posso resolver o problema de maneira simples. Eu já estou usando Nginx nos outros servidores, então este é o meu servidor de escolha para um proxy reverso.
No roteador, irei encaminhar todas as conexões de entrada na porta 80 para o meu servidor Proxy Reverso. Eu vou ter o Nginx rodando neste servidor com o seguinte arquivo de configuração:
server {
listen *:80;
location / {
proxy_pass http://$host;
}
}
O que isso parece fazer é fazer proxy da solicitação para o mesmo host. Mas aqui está o truque, no meu arquivo / etc / hosts vou mapear todos os domínios para seus IPs internos.
182.168.0.110 example1.com
182.168.0.120 example2.com
182.168.0.130 foo.example2.com
182.168.0.140 bar.example2.com
Assim, o servidor Proxy Reverso encaminhará o host solicitado para o mesmo host, mas, nesse ponto, deverá procurar o arquivo de hosts locais e mapeá-lo para o endereço IP interno. Isso também significa que posso "definir e esquecer" o arquivo de configuração do Nginx.
Um possível problema é que, se um nome de host local não tiver sido configurado, o proxy reverso enviará a solicitação de volta à Internet. No entanto, acho que o NAT impedirá que isso fique preso em um loop infinito.
Esta solução parece funcionar na minha cabeça e no papel, mas eu não vou conseguir configurar isso por um tempo.
Alguém pode ver alguma razão para isso não funcionar?
Obrigado.