Instead of opening a bunch of ports to my home network, i figured it was easier to setup a reverse proxy for all the servers in my home. Heres a quick run down on how to do it.

First we have to enable the proxy modules in apache then restart apache.

sudo ln -s /etc/apache2/mods-available/proxy.load /etc/apache2/mods-enabled

sudo ln -s /etc/apache2/mods-available/proxy_http.load /etc/apache2/mods-enabled

sudo /etc/init.d/apache2 restart

Once that is complete we need to create the apache config we will be using.

sudo vim /etc/apache2/sites-available/proxiedhosts

Here is an example of one host in my network, you need to add your hosts like this.

<VirtualHost *:80> ServerName test.home.x.me ProxyPass / http://192.168.x.x/ ProxyPassReverse / http://192.168.x.x/ <Proxy http://192.168.x.x/> Order Allow,Deny Allow from all </Proxy> </VirtualHost>

All you need to do is change the “ServerName” to that of the address you are coming in to and obviously the IP address.

There are a couple of situations where you need to additional options, running JIRA behind a reverse proxy is one of them. Here is a copy of my JIRA proxy config.

<VirtualHost *:80> ServerName jira.home.*.me ProxyRequests Off ProxyPreserveHost On ProxyPass / http://192.168.*.*:8080/ ProxyPassReverse / http://192.168.*.*:8080/ <Proxy http://192.168.*.*:8080/> Order Allow,Deny Allow from all< </Proxy> </VirtualHost>

Note that additional “ ProxyRequests Off” and also the “ProxyPreserveHost On”