首页 > 解决方案 > cert-manager Ingress Controller 找不到证书

问题描述

我在 digitalocean 上设置了 kubernetes,并安装了 cert-manager 来设置带有letsencrypt的ssl。但是,我不断收到假证书。我能错过什么?

kind: ClusterIssuer
metadata:
  name: letsencrypt-prod
spec:
  acme:
    email: ddddddddd@gmail.com
    server: https://acme-v02.api.letsencrypt.org/directory
    privateKeySecretRef:
      name: aegle-tls-certificate
    solvers:
    - http01:
        ingress:
          class: nginx'
apiVersion: extensions/v1beta1
metadata:
  name: tripotn-ingress-nginx
  namespace: production
  annotations:
    kubernetes.io/ingress.class: "nginx"
    # nginx.ingress.kubernetes.io/force-ssl-redirect: "true"
    cert-manager.io/cluster-issuer: "letsencrypt-prod"
  labels:
    app: tripotn
spec:
  rules:
    - host: tripotn.io
      http:
        paths:
        - backend:
            serviceName: tripotn-web-production
            servicePort: 80
    - host:  twist.tripotn.io
      http:
        paths:
        - backend:
            serviceName: tripotn-twist-production
            servicePort: 80
    - host:  api.tripotn.io
      http:
        paths:
        - backend:
            serviceName: tripotn-backend-production
            servicePort: 80
  tls:
  - hosts:
    - tripotn.io
    - twist.tripotn.io
    - api.tripotn.io
    secretName: tripotn-tls-certificate

我从入口控制器收到此错误

6 backend_ssl.go:46] 获取 X.509 证书时出错:创建 SSL 证书时出现意外错误:找不到证书 PEM 数据,请确保证书内容以“BEGIN CERTIFICATE”开头 我按照此处的说明进行设置:

https://cert-manager.io/docs/installation/kubernetes/

标签: sslkuberneteslets-encrypt

解决方案


推荐阅读