Apache 安装SSL证书

证书签发以后请选择《下载证书(Nginx,Apache,iis,Other) 》 证书文件

解压后Apache文件夹有三个文件:

domain.crt(服务器证书)
privkey.key(私钥文件)
root_bundle.crt(根证书链)

下面介绍如何安装Apache. 首要条件就是 apache 已经安装了 mod_ssl.so 模块 。

检测方法使用以下命令:

httpd -M | grep mod_ssl

如果有显示 mod_ssl.so 表示已经安装了apache模块。

CentOS/Redhat安装mod_ssl.so

yum install mod_ssl

Debian/Ubuntu

sudo a2enmod ssl
sudo service apache2 restart

Apache SSL配置

Listen 443  (如果配置已经存在就不要加)
LoadModule ssl_module modules/mod_ssl.so (如果配置已经存在就不要加)
NameVirtualHost *:443 (非必须,配置多个SSL站点会需要)

<VirtualHost *:443>
ServerName www.example.org
ServerAlias example.org
DocumentRoot /var/www/html
SSLEngine on
SSLProtocol all -SSLv2 -SSLv3
SSLCertificateFile /etc/ssl/domain.crt
SSLCertificateKeyFile /etc/ssl/privkey.key 
SSLCertificateChainFile /etc/ssl/root_bundle.crt
</VirtualHost>

以上只是SSL配置范例,尽量不要直接应用于生产环境,请根据80端口的站点配置修改。
证书可以放在其他位置,没有强制要求
ServerName 和 ServerAlias 需要修改

配置完成重启Apache使其生效.

service httpd restart

使用https://example.org 测试是否可以访问。

问题排查:

如果使用CDN(加速器),需要在CDN上面安装证书,

检查443端口是否启动   使用下面命令 netstat -apnt | grep 443    (如果没有启动检查配置文件或者端口是否冲突)

443端口如果已经启动,但不能访问,请检查防火墙(或者安全狗) ,允许443端口.

linux iptables使用下面命令:

iptables -A INPUT -p tcp -m tcp --dport https -j ACCEPT

注:部署方式方法有很多,可自行百度寻找适合符合自己环境的方法部署,证书文件都是通用的。