基于nginx结合openssl实现https
(1)创建文件夹
[root@localhost ~]# mkdir ca
将产生的文件放到自己建的文件夹中
生成证书
(2)创建私钥
[root@localhost ca]# openssl genrsa -out zhu.key 1024
openssl (工具)可以实现:密钥证书管理、对称加密和非对称加密。
genrsa 用于生成rsa 私钥,不会生成公钥,因为公钥提取自私钥
生成1024位rsa 私钥,
-out 指定输出文件,此处输出文件即为证书请求文件。
(3)创建证书请求:
req 来实现产生一个私钥文件并利用它产生一个证书请求文件。
-new 表示新生成一个新的证书请求文件
-key 指定私钥文件
-out 指定输出文件,此处输出文件即为证书请求文件。
[root@localhost ca]# openssl req -new -out zhu.csr -key zhu.key
(4)自签署证书:
-x509 :说明生成自签名证书
openssl req命令主要的功能有,生成证书请求文件, 查看验证证书请求文件,还有就是生成自签名证书。证书请求文件zhu.csr
-out:-out 指定生成的证书请求或者自签名证书名称 zhu.srt
-signkey :提供私钥 zhu.key
对Nginx的nginx.conf文件进行修改
server {
listen 80;
server_name www.zhu.com;
listen 443 default ssl;
ssl_certificate /root/ca/zhu.crt;
ssl_certificate_key /root/ca/zhu.key;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
}
(5)将证书导出成浏览支持的 .p12 格式:
-export:这个选项指定了一个PKCS#12文件将会被创建。
-clcerts:仅仅输出客户端证书,不输出CA证书。
关闭防火墙及安全机制打开浏览器查看
systemctl stop firewalld
Iptabled -F
Setenforce 0
点开浏览器设置里面的管理证书