192.168.10.187 CA 服务器
192.168.10.190 web 服务器
(1) 搭建 CA
cd /etc/pki/CA
在这个目录下创建 serial 和 index.txt 两个文件
echo 00 > serial (00 是颁发证书最初的版本号)
touch index.txt
(umask 006;openssl genrsa -out private/cakey.pem 4096) 生成私钥
openssl req -new -x509 -key private/cakey.pem -out cacert.pem -days 3650 生成自签名 CA 证书
(2)web 服务器申请证书, CA 服务器颁发证书
mkdir /etc/httpd/conf.d/ssl 创建一个目录来存放 CA 颁发的证书
(umask 006;openssl genrsa -out /etc/httpd/conf.d/ssl/httpd.key 2048) 生成私钥
openssl req -new -key /etc/httpd/conf.d/ssl/httpd.key -out /etc/httpd/conf.d/ssl/httpd.csr 申请证书
将这个申请证书发给 CA 服务器
scp /etc/httpd/conf.d/ssl/httpd.csr 192.168.10.187:/etc/pki/CA
然后 CA 服务器就可以颁发证书了
openssl ca -in httpd.csr -out certs/httpd.crt -days 300 颁发了一个 300 天有效期的证书
然后将 CA 服务器颁发的证书发给 web 服务器
scp certs/httpd.crt 192.168.10.190:/etc/httpd/conf.d/ssl/
另外 CA 自己的证书文件也要拷到 web 服务器
scp cacert.pem 192.168.10.190:/etc/httpd/conf.d/ssl/
此时 web 服务器上 / etc/httpd/conf.d/ssl 目录下有 4 个文件
(3) 要想做一个加密的网站, 自签名证书, 只需安装一个模块 mod_ssl 即可
1.yum install mod_ssl
安装了这个模块, 会生成 / etc/httpd/conf.d/ssl.conf 这个配置文件, 接下来要配置这个配置文件
2. 在 / etc/httpd/conf.d/ssl.conf 配置文件指定新的证书路径, 私钥文件和上级 CA 证书的证书路径
vim /etc/httpd/conf.d/ssl.conf
配置完之后然后重新启动 httpd 服务
service httpd restart
ss -ntl 查看有没有 443 端口
(4) 在 / var/www/html 下做一个简单的网站界面用来访问
(5) 在 windos 上面做域名解析, C:\Windows\System32\drivers\etc\hosts
(6) 用 https 来访问网站, 安装证书
直接访问会有报警错误出现
点击证书错误
点击查看证书, 进去点击证书路径, 找到上级 CA 的证书路径, 然后安装证书
然后再去用 https 来访问网站, 就不会出现任何错误了
来源: https://www.cnblogs.com/1477717815fuming/p/8391318.html