输出使用 markdown 格式
使用 openssl 签一个 泛域名证书 “*.console.work.kuaicdn.cn”, 并贴出 nginx 配置代码:
生成泛域名证书
# 生成私钥
openssl genrsa -out private.key 2048
# 生成 csr
openssl req -new -key private.key -out server.csr -subj "/C=CN/ST=Beijing/L=Beijing/O=Kuaishou/OU=Kuaishou/CN=*.console.work.kuaicdn.cn"
# 生成证书
openssl x509 -req -days 3650 -in server.csr -signkey private.key -out server.crt
nginx 配置
server {
listen 443 ssl;
server_name *.console.work.kuaicdn.cn;
ssl_certificate /path/to/server.crt;
ssl_certificate_key /path/to/private.key;
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
# Your other config goes here ...
}
上面没贴出客户端CA 根呢证书吗, 我需要
客户端CA根证书一般是由第三方证书机构颁发的,要获取客户端CA根证书,可以联系第三方证书机构进行申请。
我需要自签的
自签证书不建议用于正式环境,客户端会报警告。如果想要自签证书,可以参考下面步骤:
- 生成私钥:
openssl genrsa -out ca.key 2048
生成自签证书:
openssl req -x509 -new -nodes -key ca.key -sha256 -days 3650 -out ca.crt
生成泛域名证书: ```shell
生成私钥
openssl genrsa -out private.key 2048
生成 csr
openssl req -new -key private.key -out server.csr -subj “/C=CN/ST=Beijing/L=Beijing/O=Kuaishou/OU=Kuaishou/CN=*.console.work.kuaicdn.cn”
生成证书
openssl x509 -req -days 3650 -in server.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out server.crt
4. nginx 配置:
server { listen 443 ssl; server_name *.console.work.kuaicdn.cn; ssl_certificate /path/to/server.crt; ssl_certificate_key /path/to/private.key; ssl_session_timeout 5m; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers on;
# Your other config goes here ...
} ```