创建CA证书对
openssl req -x509 -days 3650 -newkey rsa:2048 -keyout CA.key -out CA.crt -subj "/C=CN/ST=CD/L=CD/O=myCompany/CN=Self root CA of RenderCloud"
#执行后会让设置密码,请记得这里设置的密码(假设为123456)
生成不带密码的私钥
openssl genrsa -out private.key 2048
根据私钥生成证书请求文件
openssl req -new -key private.key -subj "/C=CN/ST=SC/L=CD/O=myCompany/CN=104.172.57.7" -sha256 -out private.csr
编辑文件,配置需要制作自授权证书的IP地址
vim private.ext
[SAN]
subjectAltName = @alt_names
[alt_names]
IP.1 = 108.174.57.7
使用CA证书签发自授权证书
openssl x509 -req -days 365 -in private.csr -CA CA.crt -CAkey CA.key -CAcreateserial -sha256 -extfile private.ext -extensions SAN -out private.crt
#执行这一步会让输入ca证书的密码,这里就就输入前面设置的 123456 即可
证书导入受信任的根根证书颁发机构
下载前面第一步生成的CA.crt文件,双击证书文件将证书导入受信任的办法机构,以后所有使用这个CA证书签发的自授权证书,浏览器都会信任了,不会再出现大红叉(证书导入方式对chrome和edge生效,firefox 请自行百度)
自授权证书拷贝到nginx 证书路径
到此,将private.key 和 private.crt 文件拷贝到 nginx 配置的证书路径,reload nginx 就好了。
** 最终效果如下图**