5

我正在尝试使用 cert-manager 通过 LetsEncrypt 颁发证书。

我已经按照这里的步骤http://docs.cert-manager.io/en/latest/getting-started/index.html

但是,我现有的入口没有被修改(我假设它需要修改它,因为添加了.well-known/....

相反,我看到为此创建了一个入口,其名称如下:cm-acme-http-solver-kgpz6?哪个比较混乱?

如果我获得该入口的 yaml,我会看到以下规则:

spec:
  rules:
  - host: example.com
    http:
      paths:
      - backend:
          serviceName: cm-acme-http-solver-2dd97
          servicePort: 8089
        path: /.well-known/acme-challenge/2T2D_XK1-zIJJ9_f2ANlwR-AcNTm3-WenOExNpmUytY

这究竟是如何工作的?由于文档似乎相当稀疏​​。

4

1 回答 1

4

你看到的记录是为了挑战。它需要成功配置证书。如果您使用“example.com”作为域,那么它将不会成功。要使其正常工作,您需要为有效的主机名配置 DNS 记录,以便 LetsEncrypt 可以解析域并完成检查。

通常你甚至不会看到挑战入口资源。只要正确配置了 DNS 和主机名,它通常会运行质询,然后自行删除。删除后,您创建的资源将加载到您的入口控制器中。

有一些入口控制器不支持每个主机名多个入口资源。他们将加载一个入口资源并忽略另一个,因此这是一种解决方法/解决问题的方法。

于 2019-01-15T23:09:01.143 回答