You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

OpenSSL多域名自签名证书提取-subj与-addext参数至配置文件可行性问询

多域名自签名SSL证书参数抽离方案

该操作完全可行,将-subj、-addext参数抽离到独立OpenSSL配置文件是处理多域名证书的最优方案,可有效避免命令行参数过长、书写错误的问题,非常适合你当前30个域名的使用场景。

步骤1:创建独立OpenSSL配置文件

新建文件命名为openssl-san.conf,写入以下配置内容:

[req]
default_bits = 4096
prompt = no
default_md = sha256
distinguished_name = dn
x509_extensions = v3_req

[dn]
# 通用名仅需填写1个主域名即可,禁止填写多个域名
CN = *.local.dev.lat.com

[v3_req]
basicConstraints = CA:FALSE
keyUsage = nonRepudiation, digitalSignature, keyEncipherment
extendedKeyUsage = serverAuth
subjectAltName = @alt_names

[alt_names]
# 按序号连续填写所有域名,每个域名同时覆盖通配符和裸域名
DNS.1 = *.local.dev.lat.com
DNS.2 = local.dev.lat.com
DNS.3 = *.local.dev.bet.com
DNS.4 = local.dev.bet.com
DNS.5 = *.local.dev.cat.com
DNS.6 = local.dev.cat.com
DNS.7 = *.local.dev.mon.com
DNS.8 = local.dev.mon.com
DNS.9 = *.local.dev.pop.com
DNS.10 = local.dev.pop.com
# 剩余25个域名按序号连续往下补充即可
IP.1 = 127.0.0.1

步骤2:使用配置文件生成证书

直接执行简化后的openssl命令即可:

openssl req -x509 -newkey rsa:4096 -days 3650 -nodes \
  -keyout server.key \
  -out server.crt \
  -config openssl-san.conf

注意事项

  • 你原命令中-subj参数填写多个域名的写法是错误的,证书通用名(CN)仅支持填写单个域名,所有多域名必须放在subjectAltName字段中才能被浏览器正常识别
  • 配置文件中alt_names段的序号必须连续不中断,否则openssl会直接忽略序号断裂后的所有域名
  • 生成的证书需要导入本地系统/浏览器的受信任根证书列表,才能避免不安全提示

内容的提问来源于stack exchange,提问作者Slavik Muz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 14:15:01