让我们使用HTTP加密DNS挑战

时间:2019-05-30 08:59:55

标签: ssl google-cloud-platform lets-encrypt google-cloud-dns

有人对此有经验吗? 乐于通过PayPal奖励$ 50

我正在尝试在Google Cloud上设置让我们加密证书。 我最近将其从http01更改为dns01挑战类型,以便可以创建Cloud DNS区域,并且会自动添加acme挑战TXT记录。 这是我的证书。yaml

apiVersion: certmanager.k8s.io/v1alpha1
kind: Certificate
metadata: 
  name: san-tls
  namespace: default
spec:
  secretName: san-tls
  issuerRef: 
    name: letsencrypt
  commonName: www.evolut.net
  altNames: 
  - portal.evolut.net
  dnsNames:
    - www.evolut.net
    - portal.evolut.net
  acme: 
    config: 
    - dns01:
        provider: clouddns
      domains:
      - www.evolut.net
      - portal.evolut.net

但是现在kubectl describe certificate出现以下错误:

 Message:               DNS names on TLS certificate not up to date: ["portal.evolut.net" "www.evolut.net"]
    Reason:                DoesNotMatch
    Status:                False
    Type:                  Ready

更令人担忧的是,当我kubectl describe order时,我看到以下内容:

Status:
  Challenges:
    Authz URL:  https://acme-v02.api.letsencrypt.org/acme/authz/redacted
    Config:
      Http 01:
    Dns Name:  portal.evolut.net
    Issuer Ref:
      Kind:     Issuer
      Name:     letsencrypt
    Key:        redacted
    Token:      redacted
    Type:       http-01
    URL:        https://acme-v02.api.letsencrypt.org/acme/challenge/redacted
    Wildcard:   false
    Authz URL:  https://acme-v02.api.letsencrypt.org/acme/authz/redacted
    Config:
      Http 01:

请注意,Type始终是http-01,尽管在证书中它们是在dns01下列出的。

这意味着ACME TXT文件永远不会在Cloud DNS中创建,当然也不会验证域。

1 个答案:

答案 0 :(得分:0)

这似乎与使用多个域有关的问题有关。我建议使用两个不同的名称空间。您可以在以下链接中查看示例:

Failed to list *v1alpha1.Order: orders.certmanager.k8s.io is forbidden