Я новичок в SSL. Я установил его в своей системе CentOS 5 под управлением Apache 2.2.3-65. Похоже, он работает - я могу просматривать мой сайт, а протокол https отображается в адресной строке.
Вот моя конфигурация SSL vhost. Все нормально? Совершил ли я какие-нибудь серьезные ошибки?
Намерение состоит в том, чтобы весь трафик для этого конкретного сайта был зашифрован, поэтому нет виртуального хоста для порта 80, только этот.
<VirtualHost *:443>
ServerName www.mydomain.com
ServerAlias mydomain.com
DocumentRoot "/opt/deployed_rails_apps/my_app/current/public"
SSLEngine on
SSLCertificateFile /etc/pki/tls/certs/www.mydomain.com.crt
SSLCertificateKeyFile /etc/pki/tls/certs/www.mydomain.com.pem
SSLCACertificateFile /etc/pki/tls/certs/www.mydomain.com.ca-bundle
ErrorLog "logs/mydomain.com-ssl-error_log"
CustomLog "logs/mydomain.com-ssl-access_log" common
CustomLog "logs/mydomain.com-ssl-deflate_log" deflate
<Directory "/opt/deployed_rails_apps/rock_pebble/current/public">
Options -MultiViews FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
</Virtualhost>
Это, конечно, сработает. Но вот еще несколько вариантов, которые вы должны включить для большей безопасности:
SSLHonorCipherOrder On
SSLCipherSuite ECDHE-RSA-AES128-SHA256:AES128-GCM-SHA256:RC4:HIGH:!MD5:!aNULL:!EDH
SSLProtocol all -SSLv2
Header add Strict-Transport-Security "max-age=15768000"
Вы также должны проверить безопасность своего сервера на SSL Pulse и увидеть их Руководство по передовой практике SSL. Также есть Руководство по рейтингам SSL что объясняет, почему эти варианты - хорошая идея.
Выглядит нормально, но удалите ServerAlias
директиву, если ваш сертификат не будет работать как на «www.example.com», так и на «example.com».