【问题标题】:Kubernetes Cert-Manager can't get http01 ACME challange to workKubernetes Cert-Manager 无法让 http 01 ACME 挑战正常工作
【发布时间】:2020-09-07 18:34:14
【问题描述】:

您好,我正在努力让 Cert-Manager 与我的 Azure AKS 上的 let'sencrypt 一起工作,以保护和 asp.net 核心 Web 应用程序。

我有一个这样的 ClusterIssuer:

apiVersion: cert-manager.io/v1alpha2
kind: ClusterIssuer
metadata:
  name: letsencryptstaging-issuer
spec:
  acme:
    server: https://acme-staging-v02.api.letsencrypt.org/directory
    email: letsencryptstaging@prodibi.com
    privateKeySecretRef:
      name: letsencryptstaging-secret
    solvers:
    - http01:
        ingress:
          class: nginx

我要求这样的证书:

apiVersion: cert-manager.io/v1alpha2
kind: Certificate
metadata:
  name: aks-prodibiv2-com-staging
spec:
  secretName: aks-prodibiv2-com-staging-secret
  duration: 2160h
  renewBefore: 480h
  organization:
  - prodibiv2
  dnsNames:
  - aks.prodibiv2.com
  issuerRef:
    name: letsencryptstaging-issuer
    kind: ClusterIssuer

我还为我想使用的入口控制器添加了注释

certmanager.k8s.io/acme-challenge-type: http01
certmanager.k8s.io/cluster-issuer: letsencryptstaging-issuer

在下面的截图中,我们可以看到证书请求是“等待完成” 我们还可以看到,我们有两个入口控制器,一个用于挑战的似乎没有 IP,并且域指向 ingress-prodibiweb

如果我尝试将域放在 .well-known 路径的前面,我会收到 404 not found 错误。

所以我的猜测是 cert-manager 没有正确配置为使用 ingress-prodibiweb(指向 asp.net core webapp)或类似的东西。知道我可以尝试什么让它工作吗?

【问题讨论】:

  • 看起来您的 Ingress 资源的两个定义都无效。请在“后端”级别验证其配置,应指向正确/现有的 serviceName/servicePort 对,另外仔细检查 Service 是否配置正确,从“描述”输出看来不是(未找到端点)。
  • 某事告诉我,您的应用程序 Pod 没有按预期运行,您能否使用 ''kubectl get po --all-namespaces. “未找到端点”错误可能是由此引起的。

标签: asp.net-core kubernetes lets-encrypt azure-aks cert-manager


【解决方案1】:
  1. 您的入口 IP 是私有的。 Let's encrypt 无法访问。
  2. 您需要确保您使用的是您正在使用的 Nginx Ingress
    - http01:
        ingress:
          class: nginx
  1. 确保您的域指向正确的 IP。 (入口 IP 和负载均衡器 IP) 现在是 20.50.42.93 https://mxtoolbox.com/SuperTool.aspx?action=a%3aaks.prodibiv2.com&run=toolpage

dns01 也是请求 SSL 的解决方案。权限够的话可以试试看。

【讨论】:

猜你喜欢
  • 2021-05-26
  • 1970-01-01
  • 2021-01-31
  • 1970-01-01
  • 2022-10-13
  • 2022-07-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多