等待订单状态“待定”的证书颁发
Posted
技术标签:
【中文标题】等待订单状态“待定”的证书颁发【英文标题】:Waiting on certificate issuance from order status "pending" 【发布时间】:2020-12-05 11:35:23 【问题描述】:我在使用 cert-manager 处理 tls 证书时遇到了问题,我正在关注文档并添加了一些额外内容以使用 Traefik
作为入口。
目前,我有这个YAML
文件:
cluster-issuer.yaml
apiVersion: cert-manager.io/v1alpha2
kind: ClusterIssuer
metadata:
name: letsencrypt-staging
namespace: secure-alexguedescom
spec:
acme:
email: user@gmail.com
server: https://acme-staging-v02.api.letsencrypt.org/directory
privateKeySecretRef:
# Secret resource used to store the account's private key.
name: letsencrypt-staging
# Add a single challenge solver, HTTP01 using nginx
solvers:
- selector:
http01:
ingress:
class: traefik-cert-manager
traefik-ingress.yaml
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
annotations:
# add an annotation indicating the issuer to use.
cert-manager.io/cluster-issuer: letsencrypt-staging
name: secure-alexguedescom-ingress-http
namespace: secure-alexguedescom
spec:
rules:
- host: secure.alexguedes.com
http:
paths:
- backend:
serviceName: secure-alexguedescom-nginx
servicePort: 80
path: /
tls:
- hosts:
- secure.alexguedes.com
secretName: secure-alexguedescom-cert
cert-staging.yaml
apiVersion: cert-manager.io/v1alpha2
kind: Certificate
metadata:
name: secure-alexguedescom-cert
namespace: secure-alexguedescom
spec:
commonName: secure.alexguedes.com
secretName: letsencrypt-staging
dnsNames:
- secure.alexguedes.com
issuerRef:
name: letsencrypt-staging
kind: ClusterIssuer
检查证书我收到此错误消息:
Message: Issuing certificate as Secret does not contain a certificate
Reason: MissingData
同时检查certificaterequest
我有这个日志消息:
Status:
Conditions:
Last Transition Time: 2020-08-16T00:32:01Z
Message: Waiting on certificate issuance from order secure-alexguedescom/secure-alexguedescom-cert-q8w5p-1982372682: "pending"
Reason: Pending
Status: False
Type: Ready
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal OrderCreated 11m cert-manager Created Order resource secure-alexguedescom/secure-alexguedescom-cert-q8w5p-1982372682
Normal OrderPending 11m cert-manager Waiting on certificate issuance from order secure-alexguedescom/secure-alexguedescom-cert-q8w5p-1982372682: ""
我不确定哪一块是错的,使用 Helm v2 和 Tiller 和 k8s v1.7
有什么想法吗?
提前致谢
【问题讨论】:
我遇到了同样的问题,但是我的入口已经为“/”路径配置了基本身份验证。 ACME 无法访问 .well-known URI 并且无法验证我的网站。当我删除它时,问题就消失了。 【参考方案1】:letsencrypt 证书的典型问题是letsencrypt 本身无法验证您是谁以及您拥有该域。在这种情况下,alexguedes.com
。
使用 cert-manager,您可以执行 Domain Validation 和 HTTP Validation。根据发布的ClusterIssuer
,您正在进行 HTTP 验证。因此,您需要确保 secure.alexguedes.com
解析为全局可用的 IP 地址,并且 Traefik 端口 443
正在侦听该 IP 地址。
【讨论】:
感谢回复,似乎是 Traefik 的问题,因为我们无法 ping 为 LB 提供的外部 IP,所以我打算使用 nginx 入口控制器和 LB,希望它会解决 很高兴听到。如果答案令人满意,你能接受吗?谢谢 这很有帮助,谢谢。我必须为 DNS 提供商入口中的所有主机列表添加入口外部 ip 记录,然后才能正确发出证书。 @zakariaamine :提供有关最后一步的更多信息对其他人非常有用....:|以上是关于等待订单状态“待定”的证书颁发的主要内容,如果未能解决你的问题,请参考以下文章
使用现有 CA 颁发的证书签署 OS X 应用程序并让 Gatekeeper 满意