输出使用 markdown 格式
使用 openssl 签一个 泛域名证书 “*.console.work.kuaicdn.cn”, 并贴出 nginx 配置代码:

生成泛域名证书

  1. # 生成私钥
  2. openssl genrsa -out private.key 2048
  3. # 生成 csr
  4. 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"
  5. # 生成证书
  6. openssl x509 -req -days 3650 -in server.csr -signkey private.key -out server.crt

nginx 配置

  1. server {
  2. listen 443 ssl;
  3. server_name *.console.work.kuaicdn.cn;
  4. ssl_certificate /path/to/server.crt;
  5. ssl_certificate_key /path/to/private.key;
  6. ssl_session_timeout 5m;
  7. ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4;
  8. ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
  9. ssl_prefer_server_ciphers on;
  10. # Your other config goes here ...
  11. }

上面没贴出客户端CA 根呢证书吗, 我需要

客户端CA根证书一般是由第三方证书机构颁发的,要获取客户端CA根证书,可以联系第三方证书机构进行申请。
我需要自签的

自签证书不建议用于正式环境,客户端会报警告。如果想要自签证书,可以参考下面步骤:

  1. 生成私钥:
  1. openssl genrsa -out ca.key 2048
  1. 生成自签证书:

    1. openssl req -x509 -new -nodes -key ca.key -sha256 -days 3650 -out ca.crt
  2. 生成泛域名证书: ```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

  1. 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;

  1. # Your other config goes here ...

} ```