我正在尝试在 kubernetes 上设置 jetstack/cert-manager。这将为我的多个子域提供证书。它一直运行良好,直到我需要创建 nginx.conf 文件。
现在发生的情况是,所有来自 cert-manager 的请求都由http://www.redacted.com/.well-know/challenge/xx
我的应用程序 pod 处理,而不是 cert-manager pod。
有人知道我如何保留 nginx 配置文件,但让所有 .well-known 请求由 cert-manager pod 处理吗?似乎如果我可以选择入口的顺序,我可以将应用程序入口的优先级设置为最后,以便自动创建的 cert-manager 入口首先运行。
非常感谢!
答案1
所以我弄清楚了这一点,这当然不是证书管理器的问题!
我已将根域(例如)<redacted>.com
自动重定向到www.<redacted>.com
,但也尝试<redacted>.com
为子域生成证书。Cert-manager 失败,因为它在重定向时无法到达根域的 .well-known/acme-challenge。
我计划解决这个问题的方法是通过 DNS 而不是 HTTP 生成根证书,这样证书仍然有效,<redacted>.com
并且我仍然可以将 http 和 https 连接转发到 www 子域。