本地配置https证书

本地配置https

在某些场景下,我们可能会需要使用在本地配置https去调试代码。

可以通过openssl+nginx去实现。

1.安装openssl

下载链接

有两种方式去下载使用openssl

  1. 自己构建
  2. 安装预编译版本

1.自己构建

需要一个构造环境(visual studio等),和一些先决条件

源码:https://www.openssl.org/source/

安装手册:https://github.com/openssl/openssl/blob/OpenSSL_1_1_0-stable/INSTALL

2.预编译版本

window用户下载链接:http://apecoderddd.oss-cn-beijing.aliyuncs.com/Win64OpenSSL-1_1_0i.exe

其他用户及版本更多:https://oomake.com/download/openssl

windows用户注意

使用预编译版本下载安装完成后,记得配置path安装目录/bin

2.生成https证书

1.生成server.key

基于des3算法生成的私钥,生成时需输入至少4位密码

openssl genrsa -des3 -out server.key 2048

2.生成无密码的server.key

openssl rsa -in server.key -out server.key

3.生成server.csr

openssl req -new -key server.key -out server.csr

因为你是在本地调试使用所以common name配置localhost就好

4.生成crt

openssl x509 -req -days 3650 -in server.csr -signkey server.key -out server.crt

3.配置nginx

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
server {
listen 80;
server_name open.cs.test.zbjdev.com;
location / {
root html;
index index.html index.htm;
proxy_pass http://127.0.0.1:3005;
}
listen 443 ssl;
ssl_certificate /workspace/nginx/ssl/server.crt;
ssl_certificate_key /workspace/nginx/ssl/server.key;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}

关键在于listen 443 ssl;

/workspace/nginx/ssl/server.crt这个位置是相对于当前盘符的。

弱弱吐槽一句 还是翻墙看国外文档吧

参考文档:

https://www.htpcguides.com/generate-openssl-certificates-nginx-win-linux-mac/

本文标题:本地配置https证书

文章作者:Coding_youth

发布时间:2019年04月04日 - 16:04

最后更新:2020年05月28日 - 19:05

原始链接:https://yangchendoit.github.io/2019/04/04/本地配置https证书/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。

坚持原创技术分享,您的支持将鼓励我继续创作!