我在 DigitalOcean Droplet 上运行了两个 Node 应用程序。这些是个人学习用的小项目,因此本练习中有意忽略了一些最佳实践。目标是获取 SLL 证书并自动续订这两个证书。所以我有:
ApplicationFoo 在 80 和 443 端口上运行(静态和 API 服务)
ApplicationBar 在端口 8080 上运行(只是一个 API)
我确信我已经为这两个应用程序正确设置了 DNS 设置,www.foo.com
并且api.bar.com
都指向这个 Droplet 的 IP 地址。
我在 DigitalOcean 网站上找到了一个教程: 这里是
但它不起作用。当我运行以下命令时:
letsencrypt certonly --webroot -w /home/bar/api/public -d api.bar.com
我收到了以下糟糕的回复:
Domain: api.bar.com
Type: unauthorized
Detail: Invalid response from
https://foo.com/.well-known/acme-challenge/some_crazy_hash
[correct.ip.address]: 404
当然,如果foo.com
正在响应证书授权请求,它将无法工作bar.com
!我怎样才能让这一切很好地协同工作,以便我可以让这些服务都在一个 Droplet 上运行?
动机:防止我为学习/实验项目运行额外 Droplet 的成本加倍。