使用openssl自制ssl证书(亲测有效)

———————————–华丽的分割线———————————–

接下来就可以制作证书了

openssl genrsa -des3 -out server.pass.key 2048 

genra 生成RSA私钥
-des3 des3算法
-out server.key 生成的私钥文件名
2048 私钥长度

备注:需输入一个4位以上的密码

2、去掉私钥密码

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

3、生成CSR文件(用于请求证书签名)

openssl req -new -key server.key -out server.csr -subj "/C=CN/ST=Shanghai/L=Shanghai/O=xdevops/OU=xdevops/CN=域名.cn" 

req 生成证书签名请求
-new 新生成
-key 私钥文件
-out 生成的CSR文件
-subj 生成CSR证书的参数

subj参数说明如下:

字段 字段含义 示例
/C= Country 国家 CN
/ST= State or Province 省 Guangdong
/L= Location or City 城市 Guangzhou
/O= Organization 组织或企业 xdevops
/OU= Organization Unit 部门 xdevops
/CN= Common Name 域名或IP gitlab.xdevops.cn

4、生成自签名SSL证书

# -days 证书有效期 openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt 

X.509证书包含三个文件:key,csr,crt。
key是服务器上的私钥文件,用于对发送给客户端数据的加密,以及对从客户端接收到数据的解密
csr是证书签名请求文件,用于提交给证书颁发机构(CA)对证书签名
crt是由证书颁发机构(CA)签名后的证书,或者是开发者自签名的证书,包含证书持有人的信息,持有人的公钥,以及签署者的签名等信息
备注:在密码学中,X.509是一个标准,规范了公开秘钥认证、证书吊销列表、授权凭证、凭证路径验证算法等。

5、生成的文件如下图所示

以上,就成功制作了ssl证书。

具体如何使用根据自己的需求来定,下面的配置并不通用。
最后在nginx中config文件配置如下。

server { listen 443 ssl; server_name www.xxx.com; //域名 ssl_certificate_key ssl\server.key; //引入生成的key ssl_certificate ssl\server.crt; //引入生成的crt证书文件 #client_max_body_size 50m; location / { try_files $uri @local; error_page 403 = @local; } location @local { proxy_next_upstream timeout invalid_header http_502 http_503 http_504; proxy_set_header X-Real-IP $remote_addr; proxy_set_header Connection ""; proxy_http_version 1.1; proxy_pass http://127.0.0.1:4400; proxy_redirect default; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; } location @remote { proxy_next_upstream timeout invalid_header http_502 http_503 http_504; proxy_set_header Host www.xxx.com; //域名 proxy_set_header X-Real-IP $remote_addr; proxy_set_header Connection ""; proxy_http_version 1.1; proxy_pass https://xx.xxx.xxx.xxx; //公网ip地址(可能需要添加端口号) proxy_redirect default; } } 

就可以成功使用https进行访问了。

原文链接:https://www.jianshu.com/p/1a0958202087

© 版权声明
THE END
喜欢就支持一下吧
点赞5 分享