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