No Apache, use a configuração:
Você pode usar vários blocos para diferentes nomes de site, para que eles ouçam em HTTP ou HTTPS, sempre que a porta for necessária
Listen 443 http
Listen 80
NameVirtualHost *:80
NameVirtualHost *:443
ServerName *:80
<VirtualHost *:443>
[some non-ssl stuff(directory, docroot)]
ServerName account.example.com
SSLEngine on
SSLCertificateFile /Users/myusername/certs/server.crt
SSLCertificateKeyFile /Users/myusername/certs/server.key
</VirtualHost>
<VirtualHost *:80>
SSLEngine off
[other stuff like docroot]
</VirtualHost>
Para um único site funcionar nas duas portas, adicione a regra de regravação para redirecionar de http para https no arquivo .htaccess do http vhost:
#Redirrect from http to https
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R,L]
Concluído. Você poderá usar HTTP e HTTPS agora.