Apache安装ssl证书
1.安装ssl证书的前提条件是安装了openssl(如果未安装请使用
yum -y install openssl
进行安装)
2.本文参考链接是:在Apache服务器上安装SSL证书。
3.在实际安装时按上述链接出现了一个小问题,就是需要编辑 httpd.conf 时多load一个模块,
LoadModule socache_shmcb_module modules/mod_socache_shmcb.so
,否则httpd服务将无法成功启动。
4.本人用的域名时在其他地方申请的,所以在域名解析认证的时候与阿里云的认证方式有所不同,但是原理是一样的。
1.申请证书
我申请的是Symantec 免费版 SSL,中间需要验证DNS记录,只要按照它所给的值在DNS服务器上新建一条记录即可验证通过.
像这样
2.下载证书
过几分钟之后就可以签发
点击下载,选择服务器类型为Apache,完成下载后解压,在Apache安装路径下新建文件夹cert,将解压的三个文件上传到这个文件夹内
3.编辑配置文件
a.编辑 httpd.conf
vim /usr/local/apache2/conf/httpd.conf
找到以下参数并进行配置
#LoadModule socache_shmcb_module modules/mod_socache_shmcb.so
#删除行首的配置语句注释符号“#”加载mod_socache_shmcb.so
#LoadModule ssl_module modules/mod_ssl.so
#删除行首的配置语句注释符号“#”加载mod_ssl.so模块启用SSL服务,Apache默认是不启用该模块的。如果找不到该配置,请重新编译mod_ssl模块。
#Include conf/extra/httpd-ssl.conf
#删除行首的配置语句注释符号“#”。
这里是身为菜鸟的我刚学到的小技巧(上课玩手机去了?)
Tips
vim可在normal模式下输入 /str 即可全文搜索str,按n/N键选择上一个或下一个
下面是具体截图
保存httpd.conf文件后退出
b.打开httpd-ssl.conf
vim /usr/local/apache2/conf/extra/httpd-ssl.conf
在httpd-ssl.conf文件中找到以下参数并进行配置。
SSLProtocol all -SSLv2 -SSLv3
# 添加SSL协议支持协议,去掉不安全的协议。
SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM
# 使用此加密套件。
SSLHonorCipherOrder on
SSLCertificateFile "/usr/local/apache2/cert/domain name_public.crt"
# 将domain name_public.crt替换成您证书文件名。
SSLCertificateKeyFile "/usr/local/apache2/cert/domain name.key"
# 将domain name.key替换成您证书的秘钥文件名。
SSLCertificateChainFile "/usr/local/apache2/cert/domain name_chain.crt"
# 证书链开头如果有#字符,请删除。
保存httpd-ssl.conf文件配置
下面是部分截图:
4.重启Apache服务器
如果访问不了可能是防火墙没有打开相应端口,或者是操作有问题咯(反正我的可以?)
service httpd restart
#如果无法重启
cd /usr/local/apache2/bin
apachectl -k stop
apachectl -k start
5.测试
输入https://www.sample.com 看能否访问你的Apache服务器