1.先确认环境:已经安装openssl和nginx已经编译ssl的模块
openssl version nginx -V
2.生成秘钥和CA证书步骤:
1.步骤1、生成key秘钥
2.步骤2、生成证书签名请求文件(csr文件)
3.步骤3、生成证书签名文件(CA文件)
3.先创建存放密钥的文件夹
mkdir ssl_key
4.进入ssl_key指定加密算法生成.key文件,
openssl genrsa -idea -out jesonc.key 1024 密码输入123456
5.通过key文件生成签名请求文件(csr文件)
openssl req -new -key jesonc.key -out jesonc.csr 填写相关信息即可生成csr文件
6.生成证书签名文件(CA文件) 打包 有效期设置了 10 年
openssl x509 -req -days 3650 -in jesonc.csr -signkey jesonc.key -out jesonc.crt
7.配置nginx配置文件
server
{
listen 8443 ssl;# https 监听的是 443端口
server_name 10.1.208.228 www.hejiawang.com;
keepalive_timeout 100;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
ssl_certificate /home/nginx/ssl_key/jesonc.crt; # 证书路径
ssl_certificate_key /home/nginx/ssl_key/jesonc.key; # 请求认证 key 的路径
index index.html index.htm;
location / {
root /home/nginx/html ;
}
}
8.配置好之后,关闭和启动,都需要数之前设置的密码
停止启动分别输入生成key文件时的123456即可 查看nginx 8443 https端口已打开
9.打开页面
可以看到浏览器对自签证书不信任并且看到证书里面的信息
10.在谷歌浏览器中信任该自签证书
11.再次访问即可正常访问使用该证书的https服务
12.https请求通信原理
参见:https://www.bilibili.com/video/BV1KY411x7Jp/?spm_id_from=333.788.recommend_more_video.2
|