Certbot申请SSL时报NXDOMAIN查找www.example.com A记录错误如何解决
Certbot申请SSL证书报www域名NXDOMAIN错误的解决方法
报错信息:DNS problem: NXDOMAIN looking up A for www.example.com - check that a DNS record exists for this domain
你遇到的报错本质是Certbot验证时无法解析你指定的www前缀子域名,结合你当前的DNS配置情况,是需要额外添加主机记录的,具体说明如下:
原因说明
你当前Namecheap中仅配置了主机值为@的A记录,该记录仅对应根域名(也就是example.com),不会覆盖www.example.com这类带前缀的子域名。如果你申请SSL证书时同时指定了根域名和www子域名,Let's Encrypt会分别验证两个域名的解析,找不到www的A记录就会返回对应报错。
两种可选解决方案
- 方案1(推荐,仅覆盖www子域名):在Namecheap的DNS配置页新增一条A记录,主机值填
www,记录值和@记录一致填写你的公网IP,TTL选择默认值即可。 - 方案2(泛解析,覆盖所有子域名):新增一条CNAME记录,主机值填
*,记录值填你的根域名(比如example.com),后续新增其他子域名无需额外配置解析。
后续操作建议
- 配置完成后等待DNS生效,可本地运行
nslookup www.example.com(替换为你的实际域名)验证,返回的IP和你的公网IP一致即为生效 - 重新运行Certbot申请命令即可正常通过验证
如果你的站点不需要支持www前缀访问,也可以调整Certbot命令仅指定根域名,示例命令如下:certbot certonly -d example.com
这种情况不需要额外添加DNS记录即可正常申请。
内容的提问来源于stack exchange,提问作者willmahon
相关产品推荐
相关产品推荐

