生成 Let's Encrypt 证书并设置 public 路径名

Generate Let's Encrypt certificates and set the public pathname

我正在关注 the guide to generate the certificates,它运行良好:在 public 目录 (webroot) 中,它创建了一个名为 .well-known 的文件夹,其中包含一些内容。

然后它尝试向 my.domain.com/.well-known/... 发出请求,但由于我的应用程序架构,请求以 404 结束。

在我的应用程序中,public 目录中的内容可以在特定路径下访问:my.domain.com/!/foo/public/.well-known/...

如何让 Let's Encrypt 向 url 发出请求?

目前它以这个错误结束:

Requesting root privileges to run certbot...
  /home/ubuntu/.local/share/letsencrypt/bin/letsencrypt certonly
    --webroot -w ../preview-app-packed/preview-app/public/ -d preview.mydomain.org
Failed authorization procedure.
preview.mydomain.org (http-01): urn:acme:error:unauthorized :: Theclient lacks
sufficient authorization :: Invalid response from http://preview.
mydomain.org/.well-known/acme-challenge/4FH...fsM: "<!DOCTYPE html>

TL;DR 你不能

您控制 /.well-known 的事实用于证明您对该域的所有权。这就是为什么你不能改变它。

如果您不能更改您的应用程序架构,您可以使用不同类型的验证,例如带有另一个 ACME 客户端的 DNS。