2025-05-21 20:47:43
843

如何生成多域名SSL证书?OpenSSL配置全解析

摘要
本文详细解析使用OpenSSL生成多域名SSL证书的全流程,涵盖SAN配置、根证书签发、服务器证书生成及部署验证,提供标准化操作命令和配置文件示例...

OpenSSL生成多域名SSL证书全流程解析

一、生成前的准备工作

在生成多域名SSL证书前,需确保已安装OpenSSL工具,并创建以下目录结构用于存放证书文件:

如何生成多域名SSL证书?OpenSSL配置全解析

  • /etc/httpd/ca 用于存储CA证书和密钥
  • /etc/pki/tls/certs 存放服务器证书
  • /etc/pki/tls/private 存放私钥文件

二、SAN配置文件解析

创建san.cnf配置文件,指定多域名和IP地址:

[req]
distinguished_name = req_distinguished_name
req_extensions = v3_req
[v3_req]
subjectAltName = @alt_names
[alt_names]
DNS.1 = domain1.com
DNS.2 = domain2.net
IP.1 = 192.168.1.100

该配置文件通过subjectAltName扩展字段支持同时定义域名和IP地址,每个条目需单独编号。

三、生成根证书与服务器证书

完整生成流程如下:

  1. 生成CA私钥:openssl genrsa -out ca.key 2048
  2. 创建自签名CA证书:openssl req -x509 -new -key ca.key -out ca.crt -days 3650
  3. 生成服务器私钥:openssl genrsa -out server.key 2048
  4. 生成CSR请求文件:openssl req -new -key server.key -out server.csr -config san.cnf
  5. 签发服务器证书:openssl x509 -req -in server.csr -CA ca.crt -CAkey ca.key -out server.crt -days 365 -extfile san.cnf

四、证书部署与验证

部署到Nginx的示例配置:

Nginx SSL配置示例
server {
listen 443 ssl;
ssl_certificate /etc/pki/tls/certs/server.crt;
ssl_certificate_key /etc/pki/tls/private/server.key;
}

验证命令:openssl x509 -in server.crt -text -noout可查看SAN扩展字段信息。

通过配置SAN扩展字段和标准化签发流程,可快速生成支持多域名的SSL证书。建议将有效期设置为2-10年,密钥长度至少2048位,并定期更新CA根证书。

声明:文章不代表云主机测评网观点及立场,不构成本平台任何投资建议。投资决策需建立在独立思考之上,本文内容仅供参考,风险自担!转载请注明出处!侵权必究!
回顶部