如何在本地测试 letsencrypt 客户端?

How to locally test a letsencrypt client?

有没有办法在没有可验证的真实域的情况下在本地开发letsencrypt ACME客户端?例如。是否有一些测试域可以与 LE 沙箱服务器一起使用来伪造成功的域验证?

或者是通过将 letsencrypt 客户端部署到真实域并生成真实证书来测试和调试它的唯一方法吗?这怎么能融入CI?

我能找到的最简单的方法是使用 https://ngrok.com/ - 它会打开一个通往本地网络服务器的隧道,可以通过 ngrok.io 上的 public 子域进行浏览。然后,您可以轻松测试此子域的完整域验证。您甚至可以启动多个隧道并拥有多个子域来测试 SAN 证书。

ngrok 提供本地 Web-API 从中可以读取当前隧道地址,这样可以在持续集成中自动化测试。