You don't need to serve Jenkins directly on port 80. You can use your Apache2 instalation to proxy Jenkins, with the Apache2 proxy mod (you will need to enable the proxy mod & restart Apache2).
Here you can check my own Jenkins installation proxied by Apache2, indeed I serve it via HTTPS (443), HTTP (80) just redirect to secured connection.
<VirtualHost *:80>
ServerAdmin [email protected]
ServerName jenkins.ociotec.com
ErrorLog ${APACHE_LOG_DIR}/jenkins.ociotec.com.error.log
CustomLog ${APACHE_LOG_DIR}/jenkins.ociotec.com.access.log combined
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
</VirtualHost>
<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerAdmin [email protected]
ServerName jenkins.ociotec.com
ErrorLog ${APACHE_LOG_DIR}/jenkins.ociotec.com.error.log
CustomLog ${APACHE_LOG_DIR}/jenkins.ociotec.com.access.log combined
SSLEngine on
SSLProxyEngine on
SSLCertificateFile /etc/apache2/ssl/jenkins.ociotec.com.cert
SSLCertificateKeyFile /etc/apache2/ssl/jenkins.ociotec.com.key
ProxyPreserveHost On
ProxyPass / http://ociotec.com:8001/
ProxyPassReverse / http://ociotec.com:8001/
</VirtualHost>
</IfModule>
As you can seet at the end, my Jenkins is served on http://ociotec.com:8001
, but proxied by Apache in https://jenkins.ociotec.com
.