QQ扫一扫联系
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 example.com
ServerAlias www.example.com
DocumentRoot /www/wwwroot
#其他的配置信息···
</VirtualHost>
在vhosts.conf同级目录里,新建一个vhosts-https.conf文件,复制80端口配置过来进行修改,添加ssl配置
<VirtualHost *:443>
ServerName example.com
ServerAlias www.example.com
DocumentRoot /www/wwwroot
#不同证书文件名和后缀可能不同 修改文件名为apache的3个实际文件名即可
SSLEngine on
SSLCertificateFile conf/ssl/example.com.crt
SSLCertificateKeyFile conf/ssl/example.com.key
SSLCertificateChainFile conf/ssl/example.com-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://example.com 测试是否可以访问
配置完成如果apache无法启动,先检查是否加载 mod_ssl.so 模块的问题,可以开启以下配置:
# 如果前面有#号要去掉
LoadModule ssl_module modules/mod_ssl.so