Hvis du nu kun har én offentlig ip men flere forskellige webservere du gerne vil have eksponeret så kan det godt blive svært, men der kommer mod_proxy heldigvis ind i billedet, det er også metoden du bruger hvis du f.eks. vil have en WordPress på domæne.dk/blog og dit Jsp basserede CRM system på domæne.dk/compiere.
Du skal sørge for at mod_proxy er aktiveret:
root@specialhosting:~# a2enmod proxy Enabling module proxy. Run '/etc/init.d/apache2 restart' to activate new configuration! root@specialhosting:~# /etc/init.d/apache2 restart Restarting web server: apache2 ... waiting . root@specialhosting:~# a2enmod proxy_http Considering dependency proxy for proxy_http: Module proxy already enabled Enabling module proxy_http. Run '/etc/init.d/apache2 restart' to activate new configuration!
Derefter sætter jeg mine proxy-url’s op i din virtual-host config:
<Virtualhost *:80> ... ProxyPass /server1 http://10.0.0.2/ ProxyPassReverse /server1 http://10.0.0.2/ ProxyPass /server2 http://10.0.0.3/ ProxyPassReverse /server2 http://10.0.0.3/ ... </Virtualhost>
Nu vil alle forspørgsler til /server2 og /server1 blive omskrevet og videresendt til de interne servere på ip adresserne 10.0.0.2 og 10.0.0.3, selvfølgelig uden at slutbrugeren ude på internettet bemærker noget 🙂
Dette kan evt. med success bruges som ekstra lag af sikkerhed ovenpå IIS maskiner, således at websitet kun er tilgængelig igennem proxyen, og Windows maskinen på indersiden ikke har adgang til Internettet.