【问题标题】:kubernetes certmanager letsencrypt giving error "Your connection is not private"kubernetes certmanagerletsencrypt 给出错误“您的连接不是私有的”
【发布时间】:2020-07-21 22:22:20
【问题描述】:

我在我的 Kubernetes 环境下设置了集群颁发者、证书和入口,并且根据状态一切正常,但是当我根据入口连接到主机时,它给了我“您的连接不是私有的” .

CluserterIssuer 输出最后一行;-

...
Conditions:
    Last Transition Time:  2020-02-16T10:21:24Z
    Message:               The ACME account was registered with the ACME server
    Reason:                ACMEAccountRegistered
    Status:                True
    Type:                  Ready
Events:                    <none>

证书输出最后一行:-

Status:
  Conditions:
    Last Transition Time:  2020-02-16T10:24:06Z
    Message:               Certificate is up to date and has not expired
    Reason:                Ready
    Status:                True
    Type:                  Ready
  Not After:               2020-05-14T09:24:05Z
Events:                    <none>

入口文件:-

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
   name: b1-ingress  # change me
   namespace: b1
   annotations:
    kubernetes.io/ingress.class: "nginx"
    kubernetes.io/tls-acme: "true"
    cert-manager.io/cluster-issuer: "letsencrypt-prod"
spec:
  tls:
  - hosts:
     - '*.testing.example.com'
    secretName: acme-crt
  rules:
  - host: flower.testing.example.com
    http:
      paths:
      - backend:
          serviceName: flower-service
          servicePort: 5555

  - host: hasura.testing.example.com
    http:
      paths:
      - backend:
          serviceName: hasura-service
          servicePort: 80

【问题讨论】:

  • 你能添加 cert-menager 日志吗?你可以添加集群发行者/证书 yamls 吗?证书是否与 ingress 在同一个命名空间中?
  • 不,Secret 在另一个命名空间中,我希望我需要复制到这个命名空间中。所以你知道比副本更好的方法。所以我的全新空间有这个秘密。
  • 那么,当您将秘密移至namespace: b1 时,一切正常吗? There 是一些关于将秘密从一个命名空间复制到另一个命名空间的技巧。
  • 是的,当我将秘密复制到命名空间时,一切正常:b1

标签: kubernetes lets-encrypt nginx-ingress cert-manager


【解决方案1】:

基于证书管理器documentation

certmanager.k8s.io/issuer - 颁发者必须与 Ingress 资源位于相同的命名空间中。

正如@me25 在 cmets 中确认的那样

是的,当我将秘密复制到命名空间时,一切正常:b1 – me25

这里的答案是在正确的命名空间中缺少秘密证书。

解决方案是将秘密证书复制到namespace: b1,与入口相同。


你知道除了复制秘籍还有什么更好的方法

stackoverflow post 提供了一些关于将秘密从一个命名空间复制到另一个命名空间的技巧。


其他链接:

【讨论】:

    【解决方案2】:

    nginx 服务器正在使用自签名证书,而 chrome 不信任它。通常当你点击“高级”选项卡时,你应该有一个选项说“信任这个网站”或类似的东西,而 nginx 服务器配置没有显示。解决方案就是在关键字上输入这个:

    "thisisunsafe"
    

    错误信息将消失

    【讨论】:

      猜你喜欢
      • 2015-04-01
      • 2019-03-23
      • 2018-05-31
      • 2016-09-02
      • 2022-06-10
      • 1970-01-01
      • 1970-01-01
      • 2017-10-19
      • 1970-01-01
      相关资源
      最近更新 更多