What if you want to hide an internal server ? you need to configure
apache to act as a
reverse Proxy. This is the small snippet you need to configure a proxy
pass on the public server. Everything is well known expect (for me at
least) the directive ProxyPreserveHost
that is needed to rewrite
the HTTP_SERVER parameter for the hidden server. This way the
application can ignore the fact that is behind a proxy.
<VirtualHost IP:443>
ServerName public.domain.org
SSLProxyEngine on
ProxyRequests Off
ProxyPreserveHost On
ProxyPass / https://hidden.hiddendomain/
ProxyPassReverse / https://hidden.hiddendomain/
<Proxy https://hidden.hiddendomain>
Order deny,allow
Deny from all
Allow from all
</Proxy>
</VirtualHost>