Sim, é possível, é até uma funcionalidade bastante normal. Você não fornece detalhes sobre o seu ambiente de servidor, infelizmente ...
Você pode distinguir entre sites em muitas partes da solicitação; mas o clássico é claro distinguir pelo nome de domínio totalmente qualificado de cada site, por exemplo, sitename1.somedomain.com, sitename2 .somedomain.com, sitename3.com et cetera.
Com o mod_perl e o Squid, parece que você está no Unix. O mod_rewrite do Apache é talvez a forma mais comum / antiga de conseguir isso no Unix. Note que dominar o mod_rewrite para configurar proxies seguros requer algum trabalho. (Se você configurar um proxy inseguro, ele permitirá a solicitação de proxy na parte externa do proxy, e os spammers poderão usá-lo incorretamente para fazer envios de formulários, etc. a partir do seu endereço IP.)
Outra abordagem comum no Unix é ter um servidor / proxy HTTP 'leve' no IP público (isto é, receber solicitações dos usuários) e permitir que o servidor 'leve' envie solicitações para 'mais pesadas' instâncias Apache / PHP / Perl / Python. Os benefícios são o melhor desempenho de várias conexões abertas e a redução do uso de RAM no servidor. nginx (EngineX) é um servidor popular para isso, e também tem um módulo de reescrita .
Em relação ao tratamento de HTTPS / SSL no primeiro servidor web; sim, esta é uma boa solução. Você deve configurar o SSL como normal e ter as solicitações de proxy do servidor da Web para esse nome de host nos servidores backend. Editar: É comum que o frontend 'acelerador de HTTPS' adicione cabeçalhos HTTP (X-Forwarded-Proto) à solicitação de back-end, para que os aplicativos de backend possam saber que a solicitação original veio por meio de uma conexão criptografada
O que você está vendo aqui é um sub-case de balanceamento de carga HTTP; ou seja, você está instalando um proxy HTTP em uma única máquina e usando-o para distribuir solicitações para outros servidores HTTP na mesma máquina. Existem muitos bons balanceadores de carga de software para sistemas Unix .
Se você está no Windows, o novo " Roteamento de Solicitação de Aplicativo " da Microsoft é muito bom. A versão 2 está no betatest agora, e melhorou muito em relação à versão 1 - encontre-a no site iis.net. Editar: Deve-se dizer que nunca versões do IIS são muito rápidas e escaláveis. A maioria dos usuários do IIS não se preocupam em configurar um proxy HTTP para um único servidor IIS, apenas criam hosts virtuais com o modelo de aplicativo adequado no próprio servidor IIS.