letsencrypt 适用于 www 但不能用于根域(apache)

letsencrypt 适用于 www 但不能用于根域(apache)

我正在尝试在服务器上安装 letsencrypt,www 和根域都由该框托管。我可以使用 www 子域安装,没有问题,但不能使用根域。这是我收到的错误

Failed authorization procedure. domain.com (tls-sni-01): urn:acme:error:connection :: The server could not connect to the client to verify the domain :: Failed to connect to host for DVSNI challenge

进一步调查后发现,我可以使用 www 子域远程登录到端口 443,但不能使用根域或 IP 地址。我推测后一个问题的解决方案将解决前一个问题。

谢谢你的帮助,凯文

答案1

此问题可能与以下一项或多项问题相关:

1) Let's Encrypt 证书是按域生成的(因此 www 和 root 是分开的)。您可以为多个域(SAN)创建证书,但如果不需要,我建议您为每个域创建单独的证书。您可能为 www 创建了证书,但没有为 root 创建证书。与大多数 CA 不同,此功能不会自动提供。

2) 根域也必须位于您的虚拟主机中,由 ServerName 标识。

3) DNS 记录必须指向您的服务器。

您也可以尝试使用以下方法安装:

sudo git clone https://github.com/letsencrypt/letsencrypt /opt/letsencrypt
cd /opt/letsencrypt
./letsencrypt-auto --apache -d example.com

或者

./letsencrypt-auto --apache -d example.com -d www.example.com

相关内容