注册https证书
国外的比较贵,没钱啊,所以在淘宝买了个,经供参考,如有雷同,纯属扯淡
centos配置
解压证书包应包含三个文件:
yourdomain.com.crt (服务器证书)
yourdomain.com.key (私钥文件)如果为空请将生成CSR时保存的私钥内容粘贴在文件中
yourdomain.com.ca-bundle (根证书链)
1.检测是否安装mod_ssl.so
下面介绍如何安装Apache. 首要条件就是 apache 已经安装了 mod_ssl.so 模块 。
检测方法使用以下命令:
httpd -M | grep mod_ssl
如果有显示 mod_ssl.so 表示已经安装了apache模块。
CentOS/Redhat安装mod_ssl.so
yum install mod_ssl
2.修改conf文件
Listen 443 (如果配置已经存在就不要加)
LoadModule ssl_module modules/mod_ssl.so (如果配置已经存在就不要加)
NameVirtualHost *:443 (非必须,配置多个SSL站点会需要)
<VirtualHost *:443>
ServerName www.getssl.cn
ServerAlias getssl.cn
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>
常见问题
- 重启服务器出现如下问题
[warn] module ssl_module is already loaded, skipping
Address already in use: make_sock: could not bind to address 0.0.0.0:443
no listening sockets available, shutting down
出现这个说明 ssl module被多处使用,故用如下命令检查:
grep ssl_module -rI /etc/httpd/*
出现
所以有两种方法:
- httpd.conf中去掉LoadModule ssl_module modules/mod_ssl.so、去掉Listen 443
- 直接删除/etc/httpd/conf.d/ssl.conf,推荐直接删除ssl.conf