openssl 自建证书

生成私钥

genra 生成RSA私钥

-des3 des3算法

-out server.key 生成的私钥文件名

2048 私钥长度

1
2
# 需要输入4位以上的密码
openssl genrsa -des3 -out server.pass.key 2048

去掉私钥密码

去掉私钥密码,不然重启nginx的时候 每次都要手动输入pem密码

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

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

req 生成证书签名请求

-new 新生成

-key 私钥文件

-out 生成的CSR文件

-subj 生成CSR证书的参数

字段 字段含义 示例

/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

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

生成自签名SSL证书

1
2
# -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个文件

1
server.key  server.crt  server.csr  server.key

配置nginx

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
server {
listen 443 ssl;
server_name rancher.eminhui.com;
access_log /var/log/nginx/rancher.eminhui.com.log;
error_page 500 502 503 504 /50x.html;
# 证书
ssl_certificate /etc/nginx/crt/minhui.crt;
ssl_certificate_key /etc/nginx/crt/minhui.key;

location / {
proxy_pass https://192.168.10.163;
proxy_set_header Host $http_host;
}
}


本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!