我是 SSL 新手。我在运行 Apache 2.2.3-65 的 CentOS 5 系统上设置了它。它似乎可以正常工作 - 可以浏览我的网站,并且 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>
答案1
这当然可行。但为了提高安全性,您还应该添加以下几个选项:
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 脉冲并看到他们的SSL 最佳实践指南. 还有一个SSL 评级指南这解释了为什么这些选择是个好主意。
答案2
看起来不错,但ServerAlias
除非您的证书可以在“www.example.com”和“example.com”上工作,否则请删除该指令。