如何使用带有 nginx-ingress 的 digicert 来启用 https
How to use digicert with nginx-ingress to enable https
我正在尝试使用通过 digicert 获得的证书在我的 nginx-ingress 上启用 https。我们已经获得通配符证书,我有以下文件。
domain_name_2019-2021.csr
domain_name_2019-2021.key
domain_name_2019-2021.pem
DigiCertCA2_2019-2021.pem
star_domain_name_2019_2021.pem
TrustedRoot.pem
我已经通过 运行 以下命令创建了 tls 机密
kubectl create secret tls tls-secret --key ${KEY_FILE} --cert ${CERT_FILE}
并像这样在我的入口配置中使用这些秘密
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: ingress-service
namespace: default
annotations:
kubernetes.io/ingress.class: nginx
nginx.ingress.kubernetes.io/ssl-passthrough: "true"
nginx.ingress.kubernetes.io/force-ssl-redirect: "true"
spec:
tls:
- hosts:
- {{ .Values.host }}
secretName: tls-secret
rules:
- host: {{ .Values.host }}
http:
paths:
- path: /
backend:
serviceName: service_name
servicePort: 443
然而,当浏览到 subdomain.domain_name.com 时,我得到一个无效的证书,错误为 This certificate has not been verified by a third party
。它使用的证书说 Kubernetes Ingress Controller Fake Certificate
你可以关注this, to install Jetstack cert-manager, once you make this installed, please follow .
它将解决您的问题。
您创建的当前证书对此不是必需的,这里的证书将由 jetstack 自动创建,一旦它能够验证 acme 挑战,为了验证,您需要映射 DNS 或主机名到 nginx 的负载均衡器 IP。
这应该可以解决您将 http 转换为 https 的目的
我正在尝试使用通过 digicert 获得的证书在我的 nginx-ingress 上启用 https。我们已经获得通配符证书,我有以下文件。
domain_name_2019-2021.csr
domain_name_2019-2021.key
domain_name_2019-2021.pem
DigiCertCA2_2019-2021.pem
star_domain_name_2019_2021.pem
TrustedRoot.pem
我已经通过 运行 以下命令创建了 tls 机密
kubectl create secret tls tls-secret --key ${KEY_FILE} --cert ${CERT_FILE}
并像这样在我的入口配置中使用这些秘密
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: ingress-service
namespace: default
annotations:
kubernetes.io/ingress.class: nginx
nginx.ingress.kubernetes.io/ssl-passthrough: "true"
nginx.ingress.kubernetes.io/force-ssl-redirect: "true"
spec:
tls:
- hosts:
- {{ .Values.host }}
secretName: tls-secret
rules:
- host: {{ .Values.host }}
http:
paths:
- path: /
backend:
serviceName: service_name
servicePort: 443
然而,当浏览到 subdomain.domain_name.com 时,我得到一个无效的证书,错误为 This certificate has not been verified by a third party
。它使用的证书说 Kubernetes Ingress Controller Fake Certificate
你可以关注this, to install Jetstack cert-manager, once you make this installed, please follow
它将解决您的问题。
您创建的当前证书对此不是必需的,这里的证书将由 jetstack 自动创建,一旦它能够验证 acme 挑战,为了验证,您需要映射 DNS 或主机名到 nginx 的负载均衡器 IP。
这应该可以解决您将 http 转换为 https 的目的