APACHE安装SSL证书
Apache格式的证书解压后应包含三个文件:
domain.com.crt (域名证书,也可能是pem格式) domain.com.key (私钥文件) domain.com-ca-bundle.crt (根证书链,也可能是其他文件名,一般带有 ca 或者 chain )
第一步把证书放在apache的conf/ssl目录下,如果conf目录里没有ssl目录,可以新建一个
放在conf/ssl可以用相对路径,其他位置需要用绝对路径
第二步找到站点的80端口配置,一般在conf/vhosts.conf文件里(有的是在conf/extra/httpd-vhosts.conf),比如下面这一段
<VirtualHost *:80> ServerName 371cloud.cn ServerAlias www.371cloud.cn DocumentRoot /www/wwwroot #其他的配置信息··· </VirtualHost>
第三步在vhosts.conf同级目录里,新建一个vhosts-https.conf文件,复制80端口配置过来进行修改,添加ssl配置
<VirtualHost *:443> ServerName 371cloud.cn ServerAlias www.371cloud.cn DocumentRoot /www/wwwroot #不同证书文件名和后缀可能不同 修改文件名为apache的3个实际文件名即可 SSLEngine on SSLCertificateFile conf/ssl/371cloud.cn.crt SSLCertificateKeyFile conf/ssl/371cloud.cn.key SSLCertificateChainFile conf/ssl/371cloud.cn-ca-bundle.crt #其他的配置信息··· </VirtualHost>
第四步打开conf目录里的httpd.conf文件,找到 Include conf/vhosts.conf 在下面添加
#这一行一般在文件后面,从后面更容易找到 Include conf/vhosts.conf #下面是添加的 Include conf/vhosts-https.conf Listen 443 SSLCipherSuite ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE SSLProtocol All -SSLv2 -SSLv3 SSLHonorCipherOrder On
配置完成重启Apache使其生效
使用https://domain.com 测试是否可以访问
配置完成如果apache无法启动,先检查是否加载 mod_ssl.so 模块的问题
Linux 检查 mod_ssl.so模块
Linux系统检测方法使用以下命令:
find / -name mod_ssl.so | grep modules/mod_ssl.so
如果能查找到 mod_ssl.so 一般情况下已经安装了mod_ssl.so模块
如果没有找到,可以用下面的命令安装
CentOS/Redhat安装mod_ssl.so
yum install mod_ssl
Debian/Ubuntu
sudo a2enmod ssl sudo service apache2 restart
打开httpd.conf文件查看是否加载ssl模块
LoadModule ssl_module modules/mod_ssl.so (如果前面有#号要去掉)
Windows 检查 mod_ssl.so模块
Windows一般只需要打开httpd.conf文件查看是否加载ssl模块
LoadModule ssl_module modules/mod_ssl.so (如果前面有#号要去掉)