For more about this, see:
http://httpd.apache.org/docs/2.2/mod/mod_proxy.html
https://confluence.atlassian.com/display/DOC/Using+Apache+with+virtual+hosts+and+mod_proxy
Here is my configs to pass to my Atlassian JIRA (port 8080) And Atlassian Confluence (port 8090)
JIRA:
<VirtualHost *:80> ServerAdmin bnp@mos-eisley.dk ServerName jira.mos-eisley.dk ServerAlias jira ProxyPass / http://localhost:8080/ ProxyPassReverse / http://localhost:8080/ <Proxy *> Order Allow,Deny Allow from all Deny from none </Proxy> </VirtualHost>
Confluence:
The "Deny from 80 10.40.62.77" is actually to stop a spammer identified from that IP Address
The ReWrite Url disables hitting the Confluence Dashboard, redirection to /display/public/ directly
<VirtualHost *:80> ServerAdmin bnp@mos-eisley.dk ServerName www.mos-eisley.dk ServerAlias mos-eisley.dk DocumentRoot /var/www ErrorDocument 503 /503.html RewriteEngine On RewriteRule ^/dashboard.action.* /display/public/ [PT] ProxyPass / http://localhost:8090/ ProxyPassReverse / http://localhost:8090/ <Proxy *> Order Allow,Deny Allow from all Deny from 80 10.40.62.77 Deny from none </Proxy> </VirtualHost>
Proxy passing a subpart
ProxyPass /docs http://atlassian.norad.dk:8080/docs ProxyPassReverse /docs http://atlassian.norad.dk:8080/docs ProxyPass /jira http://atlassian.norad.dk:6060/jira ProxyPassReverse /jira http://atlassian.norad.dk:6060/jira
This also requires 3 extra parameters (scheme,proxyName,proxyPort) to the Tomcat's server.xml; otherwise JIRA and Confluence complains
<Connector port="8080" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" connectionTimeout="20000" enableLookups="false" maxHttpHeaderSize="8192" protocol="HTTP/1.1" useBodyEncodingForURI="true" redirectPort="8443" acceptCount="100" disableUploadTimeout="true" scheme="http" proxyName="jira.mos-eisley.dk" proxyPort="80"/>