ฉันมีคลัสเตอร์ Kubernetes ที่โฮสต์เองด้วย Nginx Ingress Cert-manager ยังทำงานบนคลัสเตอร์ ซึ่งฉันพยายามรับใบรับรอง SSL ที่ถูกต้องโดยใช้ Letsencrypt ทุกอย่างใช้งานได้ และฉันได้รับใบรับรองที่ถูกต้องสำหรับ example.com www.example.com หรือ app1.example.com แต่ไม่ใช่สำหรับไวด์การ์ดทั่วไป *.example.com หากฉันพยายามป้อนไวด์การ์ดใน ingress ภายใต้ sec.tls.hosts ไม่ว่าจะด้วยวิธีการใดๆ ก็ตาม จะไม่มีการสร้างใบรับรองใดๆ ให้ฉัน
ฉันได้รับผลลัพธ์สำหรับ
kubectl รับใบรับรอง
ชื่อพร้อมอายุความลับ
tls-test-cert เท็จ tls-electi-cert 20 ชม
kubectl รับคำขอใบรับรอง
ชื่อที่ได้รับการอนุมัติ ปฏิเสธพร้อม ผู้ออกคำขอ อายุ
tls-test-cert-8jw75 True False ปล่อยให้ระบบจัดเตรียมการเข้ารหัส: serviceaccount: cert-manager: cert-manager 18m
kubectl อธิบาย CertificateRequest
[...]
สถานะ:
เงื่อนไข:
เวลาเปลี่ยนผ่านล่าสุด: 2022-02-27T13:54:38Z
ข้อความ: คำขอใบรับรองได้รับการอนุมัติโดย cert-manager.io
เหตุผล: cert-manager.io
สถานะ: จริง
ประเภท: อนุมัติ
เวลาเปลี่ยนผ่านล่าสุด: 2022-02-27T13:54:38Z
ข้อความ: กำลังรอการออกใบรับรองจาก order gateway/tls-test-cert-8jw75-1425588341: "pending"
เหตุผล: รอดำเนินการ
สถานะ: เท็จ
ประเภท: พร้อม
เหตุการณ์:
พิมพ์อายุเหตุผลจากข้อความ
---- ------ ---- ---- -------
cert-manager.io ปกติ 18m cert-manager คำขอใบรับรองได้รับการอนุมัติโดย cert-manager.io
คำสั่งปกติสร้างผู้จัดการใบรับรอง 18m สร้างเกตเวย์ทรัพยากรคำสั่งซื้อ/tls-test-cert-8jw75-1425588341
คำสั่งปกติรอดำเนินการ 18m cert-manager กำลังรอการออกใบรับรองจาก order gateway/tls-test-cert-8jw75-1425588341: ""
Nginx Ingress ของฉัน: (ฉันเปลี่ยนโดเมนเป็น example.com สำหรับโพสต์นี้)
---
รุ่น api: networking.k8s.io/v1
ชนิด: ทางเข้า
ข้อมูลเมตา:
ชื่อ: การจัดการทดสอบ
เนมสเปซ: เกตเวย์
คำอธิบายประกอบ:
kubernetes.io/ingress.class: nginx
cert-manager.io/cluster-issuer: "letsencrypt-staging"
nginx.ingress.kubernetes.io/force-ssl-redirect: "จริง"
nginx.ingress.kubernetes.io/ssl-redirect: "จริง"
nginx.ingress.kubernetes.io/backend-protocol: "HTTP"
ข้อมูลจำเพาะ:
ชื่อคลาส ingress: nginx
tls:
- ชื่อลับ: tls-test-cert
เจ้าภาพ:
-example.com
- '*.example.com'
กฎ:
- โฮสต์: example.com
http:
เส้นทาง:
- เส้นทาง: /
pathType: คำนำหน้า
แบ็กเอนด์:
บริการ:
ชื่อ: ทดสอบเกตเวย์
ท่า:
จำนวน: 80
- โฮสต์: '*.example.com'
http:
เส้นทาง:
- เส้นทาง: /
pathType: คำนำหน้า
แบ็กเอนด์:
บริการ:
ชื่อ: ทดสอบเกตเวย์
ท่า:
จำนวน: 80
ผู้ออก: (ฉันได้แก้ไขอีเมลของฉันที่นี่)
apiVersion: cert-manager.io/v1
ชนิด: ผู้ออก
ข้อมูลเมตา:
ชื่อ: Letsencrypt-staging
เนมสเปซ: cert-manager
ข้อมูลจำเพาะ:
จุดสุดยอด:
เซิร์ฟเวอร์: https://acme-staging-v02.api.letsencrypt.org/directory
อีเมล: *******
privateKeySecretRef:
ชื่อ: Letsencrypt-staging
นักแก้ปัญหา:
- http01:
ทางเข้า:
คลาส: nginx
พร็อกซีย้อนกลับของฉัน (เกตเวย์ทดสอบ) ใช้งานได้อย่างแน่นอนและส่งต่อโดเมนย่อยทั้งหมดไปยังเว็บไซต์ของฉัน
ขอขอบคุณล่วงหน้าสำหรับแนวคิดเกี่ยวกับสิ่งที่อาจเป็นสาเหตุนี้