404 not found错误,certbot生成tls证书

404 not found错误,certbot生成tls证书

通过安装turn服务器的TLS证书,运行下面的命令,得到如图所示的错误消息,在网上搜索但无法解决。

sudo certbot certonly --standalone --preferred-challenges http --deploy-hook "systemctl restart coturn" -d mydomain.com

我看到 certbot 服务尝试访问某个端点,但为什么它会突然存在?我该怎么办?

操作系统:Ubuntu 18.04(虚拟机)

模糊了一些不安全和不必要的细节

答案1

为了验证您是否确实控制您正在请求证书的域,Let's Encrypt 使用基于 HTTP 的质询机制。基本上,Let's Encrypt 会给出certbot一个长随机字符串,并且在质询过程期间,certbot将暂时充当 Web 服务器,以便 Let's Encrypt 的验证服务器可以立即尝试联系它并验证完全相同的质询将可从指定主机名上的端口 80 中的 HTTP 服务器检索。

这些错误消息是 Let's Encrypt 验证服务器尝试certbot通过 HTTP 检索您的质询字符串时收到的消息。似乎已经有一个 Web 服务器在您请求证书的主机名的端口 80 上运行,并且当 Let's Encrypt 发送针对该主机上的质询 URI 的 HTTP 请求时,它响应了 404 错误。

如果您使用sudo certbot certonly --standalone,您应该首先停止该服务器上使用端口 80 的任何内容,以便certbot能够启动其临时 HTTP 服务器以响应挑战。

如果您不能这样做,您也许可以使用sudo certbot certonly --webroot并配置现有的 HTTP 服务器以允许对/.well-known/acme-challenge服务器端口 80 上的 URI 发出传入请求,然后手动将质询放入其中(或配置certbot为将其放入以下目录中)通过指定 ) 映射到该 URI --webroot-path /root/of/your/HTTP/namespace

相关内容