Appearance
acme.sh 证书中包含域名的查看方法
- 状态:已验证
- 来源:对话整理
- 更新时间:2026-03-23
关键结论
- 证书中包含的域名信息存储在
SAN(Subject 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/目录下。
可执行步骤
- 定位证书文件路径,优先使用部署用的
fullchain.cer或已安装到服务目录中的fullchain证书文件。 - 使用
openssl查看证书的SAN字段。 - 确认目标域名是否存在于
SAN列表中。 - 若缺失,则重新申请证书并在申请参数中补充对应域名。
命令 / 配置 / 代码
查看证书 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.cer与fullchain.cer均可查看SAN,但部署时通常应优先使用fullchain。acme.sh --list的域名信息可能不完整,应以证书解析结果为准。- 浏览器报证书错误时,应优先检查
SAN是否覆盖当前访问域名。