从StartCom申请到免费的SSL证书后,下载myluo.cn.zip,打开里面的OtherServer.zip可以看到三个crt证书文件:
1_Intermediate.crt——中间证书StartCom Class 1 DV Server CA
2_myluo.cn.crt——我的证书myluo.cn
root.crt——根证书StartCom Certification Authority
将这三个证书文件上传到服务器的/etc/pki/tls/certs目录下,将密钥文件上传到/etc/pki/tls/private目录下,修改权限为600。
用yum安装mod_ssl,安装后/etc/httpd/conf.d目录下会有ssl.conf文件,ssl.conf文件里有个默认VirtualHost标签,由于我的证书适用于三个域名(myluo.cn webapps.myluo.cn www.myluo.cn),并且不同域名操作也不同(webapps.myluo.cn由AJP转发给Tomcat),那么需要三个VirtualHost标签,所以直接在文件末尾加入三个VirtualHost标签来配置三个域名。下面列出VirtualHost标签内重要的配置,其他的都与默认VirtualHost标签相同。
- myluo.cn
ServerName myluo.cn:443
SSLCertificateFile /etc/pki/tls/certs/2_myluo.cn.crt
SSLCertificateKeyFile /etc/pki/tls/private/myluo.cn.key #密钥文件
SSLCertificateChainFile /etc/pki/tls/certs/1_Intermediate.crt
SSLCACertificateFile /etc/pki/tls/certs/root.crt
- www.myluo.cn
ServerName www.myluo.cn:443
SSLCertificateFile /etc/pki/tls/certs/2_myluo.cn.crt
SSLCertificateKeyFile /etc/pki/tls/private/myluo.cn.key
SSLCertificateChainFile /etc/pki/tls/certs/1_Intermediate.crt
SSLCACertificateFile /etc/pki/tls/certs/root.crt
- webapps.myluo.cn
ServerName webapps.myluo.cn:443
JKMount /* worker1 #AJP转发给Tomcat
SSLCertificateFile /etc/pki/tls/certs/2_myluo.cn.crt
SSLCertificateKeyFile /etc/pki/tls/private/myluo.cn.key
SSLCertificateChainFile /etc/pki/tls/certs/1_Intermediate.crt
SSLCACertificateFile /etc/pki/tls/certs/root.crt
配置完重启httpd后,在浏览器用https协议可以正常登上网站。
下面需要做的是让http自动跳转到https,同样需要配置VirtualHost标签,只不过不是ssl.conf里的,而是配置httpd时设置的用于80端口的VirtualHost标签。下面只列出webapps.myluo.cn的部分,其他两个域名类似。
- webapps.myluo.cn
<VirtualHost *:80>
ServerName webapps.myluo.cn
RewriteEngine On
RewriteRule (.*) https://webapps.myluo.cn$1 [R] #跳转到https
</VirtualHost>
配置完重启httpd后,在浏览器可以看到http自动跳转到https的效果。
最后,推荐一个用于测试自己的SSL是否配置正确的网址https://www.ssllabs.com/ssltest/analyze.html,只需要输入域名,就可以分析SSL状态并给出评级。