Expandindo a resposta do freiheit, removendo algumas partes redundantes, eliminando a dependência do mod_rewrite (e a penalidade de velocidade associada) e adicionando alguma segurança:
<VirtualHost 1.2.3.4:80>
ServerName SSL.EXAMPLE.COM
CustomLog /var/log/httpd/EXAMPLE.access_log combined
ErrorLog /var/log/httpd/EXAMPLE.error_log
Redirect / https://ssl.example.com/
</VirtualHost>
<VirtualHost 1.2.3.4:443>
ServerName ssl.example.com
DocumentRoot /var/www/html
CustomLog /var/log/httpd/EXAMPLE.ssl_access_log combined
ErrorLog /var/log/httpd/EXAMPLE.ssl_error_log
SSLEngine on
SSLProtocol all -SSLv2
SSLCipherSuite HIGH:MEDIUM
.
.
.
</VirtualHost>
<Directory /var/www/html>
#If all else fails, this will ensure nothing can get in without being encrypted.
SSLRequireSSL
</Directory>