本文记录如何为web网站服务器加密,为服务器安装SSL证书,以后使用https协议来访问网站
首先我们需要三台主机,分别作为网站服务器,证书服务器CA,和客户机
我这里用一台地址为192.168.252.130的虚拟机作为证书服务器CA,
一台192.168.252.128的虚拟机作为网站服务器,需安装Apache
用本机宿主机作为客户机。
一、在CA上生成自签署证书
cd /etc/pki/CA
(umask 077;openssl genrsa -out private/cakey.pem 2018) //设置私钥cakey.pem的权限为700
vim /etc/pki/tls/openssl.cnf //配置证书服务器信息
cd /etc/pki/CA
cd private/
openssl req -new -x509 -key cakey.pem -out cacert.pem //利用私钥生成自签署证书
证书服务器配置第一步结束,现在配置网站服务器
二、在网站服务器生成证书申请文件
查看系统中安装openssl包的情况
在Apache目录下创建ssl,作为ssl证书的目录,用来保存证书和证书申请
生成网站服务器的私钥
发起证书申请,填写刚刚在CA建立的信息,表示申请本台证书服务器,匹配CA服务器填写的信息
将生成的证书申请发送到证书服务器上。
三、在证书服务器同意申请,并发回证书
在CA目录下创建index.txt和serial用来保存数据信息和序列号
根据发来的证书申请,给它生成一个证书,有效期一年(比对申请人信息),再发回到网站服务器。
四、配置网站服务器信息
vim /usr/local/apache2/conf/httpd.conf //修改Apache主配置文件来开启ssl服务
vim /usr/local/apache2/conf/extra/httpd-ssl.conf //修改ssl配置文件,网站根目录,域名,指定证书文件SSLCeryificateFile和指定密钥文件SSLCertificateKeyFile
五、配置结束,重启Apache服务,检查主配置文件有没有问题
报错1:
解决1:listen下没有写端口,填443
报错2:
解决2:缺少mod_ssl模块,安装后在Apache主配置文件里加上这个模块
yum -y install mod_ssl
vim /usr/local/apache2/conf/httpd.conf
报错3:
解决3:在主配置文件里找到了这个shmcb模块,只是没有开启,将其开启
成功。