Skip to content

acme.sh 证书中包含域名的查看方法

  • 状态:已验证
  • 来源:对话整理
  • 更新时间:2026-03-23

关键结论

  • 证书中包含的域名信息存储在 SANSubject Alternative Name)字段中。
  • 使用 openssl 可直接解析证书中的 SAN 字段。
  • wildcard 证书如 *.example.com 不包含根域名 example.com,必须单独申请。
  • acme.sh --list 可查看部分证书信息,但最终应以实际证书解析结果为准。

详细分析

  • X.509 证书支持多域名,具体由 SAN 扩展字段定义。
  • 浏览器验证证书时,会检查当前访问域名是否存在于 SAN 中。
  • 如果 SAN 中缺少目标域名,将导致证书错误,例如 ERR_CERT_COMMON_NAME_INVALID
  • acme.sh 默认将证书存储在 ~/.acme.sh/<domain>/~/.acme.sh/<domain>_ecc/ 目录下。

可执行步骤

  1. 定位证书文件路径,优先使用部署用的 fullchain.cer 或已安装到服务目录中的 fullchain 证书文件。
  2. 使用 openssl 查看证书的 SAN 字段。
  3. 确认目标域名是否存在于 SAN 列表中。
  4. 若缺失,则重新申请证书并在申请参数中补充对应域名。

命令 / 配置 / 代码

查看证书 SAN

bash
openssl x509 -in fullchain.cer -noout -ext subjectAltName

或:

bash
openssl x509 -in fullchain.cer -noout -text | grep -A1 "Subject Alternative Name"

查看 acme.sh 管理的证书:

bash
acme.sh --list

默认证书路径示例:

text
~/.acme.sh/example.com_ecc/fullchain.cer

风险与注意事项

  • wildcard 证书不包含根域名,需要单独申请。
  • cert.cerfullchain.cer 均可查看 SAN,但部署时通常应优先使用 fullchain
  • acme.sh --list 的域名信息可能不完整,应以证书解析结果为准。
  • 浏览器报证书错误时,应优先检查 SAN 是否覆盖当前访问域名。