I got it working, it was mainly because Apache wasn't listening on port 443, and I fixed this by including httpd-ssl.conf and then defining my VirtualHost in there.
So this is what I've ended up with
JIRA Setup Files
server.xml
<Service name="Catalina">
<Connector acceptCount="100" connectionTimeout="20000" disableUploadTimeout="true" enableLookups="false"
maxHttpHeaderSize="8192" maxThreads="150" minSpareThreads="25" port="8080"
protocol="HTTP/1.1" redirectPort="8443" useBodyEncodingForURI="true"
scheme="https" proxyName="JIRASERVERNAME" proxyPort="443" secure="true"/>
Apache Setup File
httpd.conf
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule ssl_module modules/mod_ssl.so
ServerName JIRASERVERNAME
Include conf/extra/httpd-vhosts.conf
Include conf/extra/httpd-ssl.conf
httpd-vhosts.conf
<VirtualHost *:80>
ServerName JIRASERVERNAME
Redirect / https://JIRASERVERNAME/
</VirtualHost>
httpd-ssl.conf
Listen 443 #This was already defined in here
<VirtualHost *:443>
ServerName JIRASERVERNAME
SSLEngine On
SSLCertificateFile "C:\Program Files\Atlassian\JIRA\jre\server.crt"
SSLCertificateKeyFile "C:\Program Files\Atlassian\JIRA\jre\server.key"
SSLProxyEngine On
ProxyRequests Off
ProxyPreserveHost On
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyPass / http://JIRASERVERNAME:8080/
ProxyPassReverse / http://JIRASERVERNAME:8080/
</VirtualHost>
I also commented out any lines that were superseded by my VirtualHost config.