Firefox浏览器
错误信息
SSL_ERROR_BAD_CERT_DOMAIN
在“Advanced”下显示为“Error code: SSL_ERROR_BAD_CERT_DOMAIN”,同时显示“… uses an invalid security certificate. The certificate is only valid for the following names: …”。
Firefox — "Warning: Potential Security Risk Ahead", the certificate is not valid for this name
含义
证书受信任且在有效期内,但它是为地址栏中名称以外的其他名称签发的。Firefox 会在警告页上列出该证书适用的名称。典型情况:www 与裸域名不一致、新增的子域名,或者通配符被用在了两级深的子域名上。
原因
证书中没有列出该主机名
常见新增了子域名或别名,却没有重新签发证书。
通配符少了一级
常见*.example.com 不覆盖 a.b.example.com,也不覆盖 example.com。
服务器返回了另一个网站的证书
偶见共享主机或 Ingress 没有针对这个名称的配置。
修复方法
- 1.
对照地址检查证书中的名称
Firefox 的警告页也会显示这些名称;openssl 会打印 SAN 列表。
bash echo | openssl s_client -connect www.example.com:443 -servername www.example.com 2>/dev/null \ | openssl x509 -noout -ext subjectAltName - 2.
重新签发包含所有在用名称的证书
包含根域名、www 以及网站提供服务的每一个子域名。
bash sudo certbot certonly --nginx -d example.com -d www.example.com -d shop.example.com