Am un cluster Kubernetes auto-găzduit cu un Nginx Ingress. Cert-manager rulează și pe cluster, cu care încerc să obțin certificate SSL valide folosind Letsencrypt. Totul funcționează și primesc un certificat valabil de exemplu.com, www.example.com sau app1.example.com, dar nu pentru un wildcard general *.example.com. Dacă încerc în vreun fel să introduc un wildcard în intrarea mea în sec.tls.hosts, nu se generează niciun certificat pentru mine.
Primesc ieșirea pentru
kubectl obține certificat
NUME GATA SECRET VARSTA
tls-test-cert False tls-electi-cert 20h
kubectl obține CertificateRequest
NUME APROBAT RESPINS GATA EMITENT SOLICITANT Vârsta
tls-test-cert-8jw75 True False letsencrypt-staging system:serviceaccount:cert-manager:cert-manager 18m
kubectl descrie CertificateRequest
[...]
Stare:
Conditii:
Ora ultimei tranziții: 2022-02-27T13:54:38Z
Mesaj: Cererea de certificat a fost aprobată de cert-manager.io
Motiv: cert-manager.io
Stare: Adevărat
Tip: Aprobat
Ora ultimei tranziții: 2022-02-27T13:54:38Z
Mesaj: Se așteaptă emiterea certificatului de la gateway-ul de comandă/tls-test-cert-8jw75-1425588341: „în așteptare”
Motiv: în așteptare
Stare: fals
Tip: Gata
Evenimente:
Introduceți Motivul Vârsta din mesaj
---- ------ ---- ---- -------
Normal cert-manager.io 18m cert-manager Cererea de certificat a fost aprobată de cert-manager.io
Normal OrderCreated 18m cert-manager Creat Order Resource Gateway/tls-test-cert-8jw75-1425588341
Normal OrderPending 18m cert-manager Se așteaptă emiterea certificatului de la gateway-ul de comenzi/tls-test-cert-8jw75-1425588341: ""
My Nginx Ingress: (mi-am schimbat domeniul pe example.com pentru această postare)
---
apiVersion: networking.k8s.io/v1
fel: Intrare
metadate:
nume: test-management
namespace: gateway
adnotari:
kubernetes.io/ingress.class: nginx
cert-manager.io/cluster-issuer: „letsencrypt-staging”
nginx.ingress.kubernetes.io/force-ssl-redirect: „adevărat”
nginx.ingress.kubernetes.io/ssl-redirect: „adevărat”
nginx.ingress.kubernetes.io/backend-protocol: „HTTP”
specificație:
ingressClassName: nginx
tls:
- secretName: tls-test-cert
gazde:
- example.com
- „*.example.com”
reguli:
- gazdă: example.com
http:
trasee:
- cale: /
pathType: Prefix
backend:
serviciu:
nume: test-gateway
port:
număr: 80
- gazdă: „*.example.com”
http:
trasee:
- cale: /
pathType: Prefix
backend:
serviciu:
nume: test-gateway
port:
număr: 80
Emitent: (mi-am redactat e-mailul aici)
apiVersion: cert-manager.io/v1
fel: emitent
metadate:
nume: letsencrypt-staging
namespace: cert-manager
specificație:
culme:
server: https://acme-staging-v02.api.letsencrypt.org/directory
e-mail: *******
privateKeySecretRef:
nume: letsencrypt-staging
rezolvatori:
- http01:
intrare:
clasa: nginx
Proxy-ul meu invers (test-gateway) funcționează cu siguranță și trimite toate subdomeniile către site-ul meu.
Mulțumesc anticipat pentru orice idee despre ce ar putea cauza acest lucru.