使用openssl创建自签证书
前言:此次是从win本地创建一个ssl的自签证书,上传到服务器进行ng配置使用
下面开始正式操作:
下载安装openssl
使用Git Bash 自带的 openssl 也可以。
openssl下载地址:https://slproweb.com/products/Win32OpenSSL.html
安装过程省略,一直下一步就OK了。
在系统环境变量的Path中添加openssl的路径:win+R ,输入:sysdm.cpl,确认进入系统属性–>选择高级–>环境变量–>系统变量,找到Path,新建一条把刚刚下载的openssl的bin目录添加进去。
最后CMD,使用:openssl -v 验证是否安装成功。显示刚下载安装的版本号即安装成功。
创建配置文件
准备一个配置文件,支持 IP SAN 扩展,否则浏览器会提示证书不匹配。
- 新建一个 openssl-san.cnf 的配置文件,内容可以参考如下:
1 | # 主配置段 |
生成私钥和证书
1 | # 生成私钥 |
OK,现在你就可以得到:
- server.key 私钥
- server.crt 证书
配置你的服务器
下面以ng为例
- 把私钥和证书这两个文件上传服务器存放ssl证书的文件夹下例如:/data/ssl/ 。
- 进入ng配置文件,添加如下验证配置:
- 使用nginx -t 验证ng配置文件正确,然后 nginx -s reload 重启ng
- 浏览器访问: https://110.40.141.187:8443,会提示不是私密链接,继续访问即可,这是因为不是CA认证机构颁发的证书,不被信任。会直接下载一个文件,打开显示 :hello https。配置成功!
- 导入自签证书到客户端信任的步骤,这样浏览器就不会跳出该警告。
win系统:
- 双击 server.crt 证书文件
- 点击 “安装证书”
- 选择「本地计算机」(需要管理员权限)
- 存储位置选为「受信任的根证书颁发机构」
- 完成导入后,重启浏览器即可
macOS 系统
- 打开「钥匙串访问」
- 拖拽 server.crt 证书到 系统 –> 证书
- 双击导入的证书,展开信任选项
- 将「使用此证书时」设为「始终信任」
- 输入管理员密码完成操作
写在最后
特别鸣谢:https://zhaoruochen.com,提供的硬件环境支持!!!
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Ann!