请仔细检查我的SSLconfiguration。 可以吗?

我是SSL新手。 我在运行Apache 2.2.3-65的CentOS 5系统上进行设置。 它似乎工作 – 一个可以浏览我的网站和https协议显示在地址栏中。

这是我的SSL虚拟主机configuration。 它看起来好吗? 我有没有犯过重大错误?

目的是为了encryption这个特定站点的所有stream量,所以没有端口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”上工作。