Tôi có một cụm Kubernetes tự lưu trữ với Nginx Ingress. Trình quản lý chứng chỉ cũng đang chạy trên cụm mà tôi cố gắng lấy chứng chỉ SSL hợp lệ bằng Letsencrypt. Tất cả đều hoạt động và tôi nhận được chứng chỉ hợp lệ cho example.com, www.example.com hoặc app1.example.com, nhưng không dành cho ký tự đại diện chung *.example.com. Nếu tôi cố gắng nhập một ký tự đại diện theo bất kỳ cách nào trong mục nhập của mình trong sec.tls.hosts, thì không có chứng chỉ nào được tạo cho tôi.
tôi nhận được đầu ra cho
kubectl lấy chứng chỉ
TÊN SẴN SÀNG BÍ MẬT TUỔI
tls-test-cert Sai tls-elect-cert 20h
kubectl lấy Chứng chỉRequest
TÊN ĐƯỢC PHÊ DUYỆT TỪ CHỐI SẴN SÀNG PHÁT HÀNH NGƯỜI YÊU CẦU TUỔI
tls-test-cert-8jw75 Đúng Sai letencrypt-staging system:serviceaccount:cert-manager:cert-manager 18 phút
kubectl mô tả CertificateRequest
[…]
Trạng thái:
Điều kiện:
Thời gian chuyển đổi cuối cùng: 2022-02-27T13:54:38Z
Thông báo: Yêu cầu chứng chỉ đã được phê duyệt bởi cert-manager.io
Lý do: cert-manager.io
Trạng thái: Đúng
Loại: Đã được phê duyệt
Thời gian chuyển đổi cuối cùng: 2022-02-27T13:54:38Z
Thông báo: Đang chờ phát hành chứng chỉ từ cổng đặt hàng/tls-test-cert-8jw75-1425588341: "pending"
Lý do: Đang chờ xử lý
Trạng thái: Sai
Loại: Sẵn sàng
Sự kiện:
Nhập Lý do Tuổi từ Tin nhắn
---- ------ ---- ---- -------
Bình thường cert-manager.io 18m cert-manager Yêu cầu chứng chỉ đã được phê duyệt bởi cert-manager.io
Đơn đặt hàng bình thườngĐã tạo 18 triệu trình quản lý chứng chỉ Cổng tài nguyên đặt hàng đã tạo/tls-test-cert-8jw75-1425588341
Đơn hàng bình thường Đang chờ 18 triệu người quản lý chứng chỉ Đang chờ phát hành chứng chỉ từ cổng đặt hàng/tls-test-cert-8jw75-1425588341: ""
My Nginx Ingress: (Tôi đã hoán đổi tên miền của mình thành example.com cho bài đăng này)
---
apiVersion: mạng.k8s.io/v1
loại: Xâm nhập
metadata:
Tên: quản lý kiểm tra
không gian tên: cổng
chú thích:
kubernetes.io/ingress.class: nginx
cert-manager.io/cluster-issuer: "letsencrypt-staging"
nginx.ingress.kubernetes.io/force-ssl-redirect: "true"
nginx.ingress.kubernetes.io/ssl-redirect: "true"
nginx.ingress.kubernetes.io/backend-protocol: "HTTP"
thông số kỹ thuật:
ingressClassName: nginx
tls:
- secretName: tls-test-cert
máy chủ:
- ví dụ.com
- '*.example.com'
quy tắc:
- máy chủ: example.com
http:
con đường:
- con đường: /
pathType: Tiền tố
phụ trợ:
dịch vụ:
tên: cổng kiểm tra
Hải cảng:
số: 80
- máy chủ: '*.example.com'
http:
con đường:
- con đường: /
pathType: Tiền tố
phụ trợ:
dịch vụ:
tên: cổng kiểm tra
Hải cảng:
số: 80
Tổ chức phát hành: (Tôi đã chỉnh sửa lại email của mình tại đây)
apiVersion: cert-manager.io/v1
loại: Tổ chức phát hành
metadata:
tên: letencrypt-staging
không gian tên: cert-manager
thông số kỹ thuật:
tốt:
máy chủ: https://acme-staging-v02.api.letsencrypt.org/directory
email: *******
privateKeySecretRef:
tên: letencrypt-staging
người giải quyết:
-http01:
xâm nhập:
lớp: nginx
Proxy ngược của tôi (cổng thử nghiệm) chắc chắn hoạt động và chuyển tiếp tất cả các tên miền phụ đến trang web của tôi.
Cảm ơn trước cho bất kỳ ý tưởng như những gì có thể gây ra điều này.