Apache安装SSL证书
下载Apache格式的证书
解压后应包含三个文件:
yourdomain.com.crt (服务器证书) yourdomain.com.key (私钥文件)如果为空请将生成CSR时保存的私钥内容粘贴在文件中 yourdomain.com.ca-bundle (根证书链)
下面介绍如何安装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.sslcity.com ServerAlias sslcity.com DocumentRoot /var/www/html SSLEngine on SSLProtocol all -SSLv2 -SSLv3 SSLCertificateFile /etc/ssl/yourdomain.com.crt SSLCertificateKeyFile /etc/ssl/yourdomain.com.key SSLCertificateChainFile /etc/ssl/yourdomain.com.ca-bundle </VirtualHost>
以上只是SSL配置范例,尽量不要直接应用于生产环境,请根据80端口的站点配置修改。
证书可以放在其他位置,没有强制要求
ServerName 和 ServerAlias 需要修改
配置完成重启Apache使其生效.
service httpd restart
使用https://yourdomain.com 测试是否可以访问。
问题排查:
如果使用CDN(加速器),需要在CDN上面安装证书,国内免费加速的都不支持https(已知阿里云cdn支持)
检查443端口是否启动 使用下面命令 netstat -apnt | grep 443 (如果没有启动检查配置文件或者端口是否冲突)
443端口如果已经启动,但不能访问,请检查防火墙(或者安全狗) ,允许443端口.
linux iptables使用下面命令:
iptables -A INPUT -p tcp -m tcp --dport https -j ACCEPT