Postado originalmente por
PEdroArthurJEdi
Não cara... O melhor é continuar com sua abordagem.
Vejamos o que acontece num conexão normal.
Digamos que você quer acessar um máquina no mundo afora via um protocolo específico. Digamos o Google, via protocolo HTTP.
Primeiro, você digita lá no seu navegador:
Google [return]
Seu navegador primeiramente envia uma requisição DNS para seu servidor:
localhost:xxx -> servidordns:53 udp
Google IN A
Então, seu servidor responde:
servidordns:53 -> localhost:xxx udp
Google IN A 64.233.163.147
Logo em seguida, seu browser tenta acessar:
localhost:yyy -> 64.233.163.147:80 tcp GET
Google HTTP/1.0
Vê? o que chega ao gateway não é o nome em si, mas o seu correspondente númerico. E apesar de, no protcolo HTTP, o nome ir na requisição, o gateway não tem discernimento sobre os dados que passam na camada de aplicação (protocolo HTTP), somente das camadas de rede e transporte (IP e TCP)
O que você poderia fazer era usar o mod_proxy no Apache e continuar com uma abordagem semelhante a que você já usa. Ou seja, deixar o Apache tratar de intermediar as conexões com os diversos clientes.