Nginx支持HTTPS - 使用OpenSSL制作自签的证书
准备
环境:ubuntu 18.04
openssl : version 1.1.1 11 Sep 2018
制作证书
1. 制作根证书(CA)
1.1 制作私钥
genrsa -des3 -out ca.key 2048
注: 此处要求输入密码来生成私钥。如需要删除密码可运行下面命令:
rsa -in ca.key -out ca_decrypted.key
1.2 制作公钥
req -new -x509 -days 3650 -key ca.key -out ca.crt
再次要求输入密码,需要和私钥的一致
输入密码后,完成下面信息的填入(可输入Enter略过)
到此,根证书的私钥和公钥创建完成。
2. 制作服务端证书并用CA签名认证
2.1 制作服务端证书私钥 (没有密码)
genrsa -des3 -out server.pem 1024
去除服务端私钥密码,否则启动Nginx时会出现读取私钥密码的报错
rsa -in server.pem -out server.key
2.2 制作服务端公钥
2.2.1 生成签名请求
req -new -key server.pem -out server.csr
2.2.2 用CA进行签名 (必须在新的terminal中输入下面命令)
x509 -req -days
3650
-in server.csr -signkey server.key -out server.crt
Nginx配置
1. 将 server.key 和 server.crt 拷贝到Nginx 根目录
2. 修改 Nginx.conf 配置,指定 certification 文件
server { ... ssl on;
ssl_certificate /etc/nginx/server.crt; ssl_certificate_key /etc/nginx/server.key; ssl_session_timeout 5m; ... }# server end
3. 重新启动Nginx
分类:
openssl
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战