Apache格式的证书解压后应包含三个文件: domain.com.crt (域名证书,也可能是pem格式)domain.com.key (私钥文件)domain.com-ca-bundle.crt (根证书链,也可能是其他文件名,一般带有 ca 或者 chain ) 第一步把证书放在apache的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.confListen 443SSLCipherSuite ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHESSLProtocol All -SSLv2 -SSLv3SSLHonorCipherOrder On 配置完成重启Apache使其生效 配置完成如果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 sslsudo 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 (如果前面有#号要去掉) |