The best solution is to leave IIS completely out of the loop for this. For this to work, you need to assign additional IPs to your machine. Then you will make IIS listen to one IP and JIRA/Tomcat to another, which you then can simply create a DNS entry for.
By default, IIS will listen to port 80 (HTTP) on all IPs assigned to the server. Obviously, Tomcat and IIS can not both handle the same IP on the same port, so you will have to tell IIS which IPs it should handle and do the same for Tomcat.
For IIS you do it like this:
- Open command prompt
- Type netsh
- Type http
- Type sho iplisten; result should be blank
- Type add iplisten ipaddress=xxx.xxx.xxx.xxx; repeat this for all IP addresses used by websites hosted on IIS
- Type sho iplisten again to verify
- Iisreset
(taken from the first comment here)
Then you have to assign the IP you want to use for JIRA in the Tomcat config file. This should be located at [JIRA install dir]\conf\server.xml:
Change the following entry
<Connector port="8080" ...
to
<Connector port="80" address="xxx.xxx.xxx.xxx" ...
For the address you insert the one you want JIRA to use.
Hint: If you have trouble connecting to this IP through the browser, make sure you have the firewall configured correctly to allow incoming connections on port 80 for this IP address.
Now you simply create a DNS record pointing your subdomain jira.yourdomain.com to the IP assigned for Tomcat/JIRA and you are good to go.
You can do the same for a parallel Confluence installation, you just have to assign an additional IP for each setup.