Pessoalmente, gosto de usar um proxy reverso no apache ao servir vários servidores atrás de um endereço IP. Eu escrevi um artigo sobre isso há alguns anos.
Pode haver momentos em que você precisa ter vários servidores da Web, mas recebeu apenas um endereço IP público. O problema que você enfrentará é que deseja que seus vários domínios resolvam o mesmo endereço IP, mas aponte para um servidor diferente. Isso é muito factível com o Apache. Eu configurei um servidor gateway dentro da minha nuvem privada com um endereço 192.168.1.2. Eu tenho vários servidores web com endereços locais; 192.168.1.10 e 192.168.1.11 por exemplo.
No meu servidor Gateway, eu instalo o Apache e os arquivos mod_proxy. Quando isso estiver concluído, poderei configurar os hosts virtuais para encaminhar o domínio.
<VirtualHost *:80>
DocumentRoot /var/www/example.org
ServerName *.example.org
ProxyRequests Off
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyPreserveHost on
ProxyPass / http://192.168.1.10/
ProxyPassReverse / http://192.168.1.10
</VirtualHost>
<VirtualHost *:80>
DocumentRoot /var/www/example.com
ServerName *.example.com
ProxyRequests Off
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyPreserveHost on
ProxyPass / http://192.168.1.11/
ProxyPassReverse / http://192.168.1.11/
</VirtualHost>
Reinicie o Apache e configure seu roteador para aceitar conexões de entrada para o endereço local 192.168.1.2. Embora eu pudesse ter apontado o DocumentRoot para o mesmo local (ou seja, / var / www), mas normalmente tenho arquivos .htaccess para cada site onde posso forçar o SSL (redirecionar 80 para 443 em nomes de domínio específicos).
O bom desta rota é que você pode servir vários servidores HTTPS com o mesmo endereço IP. O único problema é que o Internet Explorer não reconhece a porta VirtualHost 443 ou o host nomeado e você obteria um erro de certificado. No entanto, o Safari, o Firefox e o Chrome reconhecem cada certificado individual para o domínio que está sendo intermediado por proxy.