如何使用带有证书管理器的“让我们加密”中的通配符证书

时间:2020-03-13 17:46:15

标签: kubernetes lets-encrypt eks cert-manager

我创建了两个文件,一个文件用于ClusterIssuer,第二个文件用于证书。 我的域是一个example.com,我需要使用通配符*.testing.example.com创建一个新的子域,并且我已经在Route53中创建了一个名为*.testing.example.com的条目,其条目为A并映射为nlb。

下面是我的个人资料,这对我有好处,但是我遇到错误“ msg” =“传播检查失败”“ error” =“ \” testing.example.com \“的DNS记录尚未传播“

ClusterIssuer.yaml

apiVersion: cert-manager.io/v1alpha2
kind: ClusterIssuer
metadata:
  name: letsencrypt-prod
spec:
  acme:
    # The ACME server URL
    server: https://acme-v02.api.letsencrypt.org/directory
    # Email address used for ACME registration
    email: devops@example.com
    privateKeySecretRef:
            name: letsencrypt-prod
    solvers:
    # example: cross-account zone management for example.com
    # this solver uses ambient credentials (i.e. inferred from the environment or EC2 Metadata Service)
    # to assume a role in a different account
    - selector:
        dnsZones:
          - "example.com"
      dns01:
        route53:
          region: ap-south-1
          hostedZoneID: 71MYVttggee
          role: arn:aws:iam::123456:role/dns-manager



Certificate.yaml

apiVersion: cert-manager.io/v1alpha2
kind: Certificate
metadata:
  name: example-cert
spec:
  secretName: acme-crt
  issuerRef:
    kind: ClusterIssuer
    name: letsencrypt-prod
  commonName: testing.example.com
  dnsNames:
    - '*.testing.example.com'
  acme:
    config:
    - dns01:
        provider: route53
      domains:
        - '*.testing.example.com'

2 个答案:

答案 0 :(得分:0)

您所拥有的是正确的,您只需要等待DNS传播,以便LetsEncrypt可以检查验证记录。

答案 1 :(得分:0)

您必须使用 DNS-01 的方法进行身份验证。

您可以使用 issuer

https://cert-manager.io/docs/configuration/acme/dns01/

但是,您还必须为证书创建另一个 YAML

apiVersion: cert-manager.io/v1alpha2
kind: Certificate
metadata:
  name: le-crt
spec:
  secretName: tls-secret
  issuerRef: 
    kind: Issuer
    name: letsencrypt-prod
  commonName: "*.example.in"
  dnsNames:
    - "*.example.in"

上面的 yaml 证书将指向您创建的颁发者,当您获得证书时,它将被存储到 kubernetes 机密名称中:tls-secret

您可以在 ingress 上注入或使用此机密。

此外,如果您遇到 CAA 记录的 403 错误,请先在 DNS zone 中添加 CAA 记录,同时我们添加 A 或 {{ 1}} 条记录。

更多参考:https://stackoverflow.com/a/68476135/5525824