https://github.com/kubernetes-retired/contrib/tree/master/ingress/controllers/nginx/examples/tls
我尝试通过本教程为我的入口资源配置 https。我已经完成了所有需要的步骤,但是当我尝试访问我的网站时,它向我发送:
我应该做一些额外的步骤吗?
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
annotations:
kubernetes.io/ingress.class: nginx
nginx.ingress.kubernetes.io/from-to-www-redirect: "true"
spec:
rules:
- host: www.domain.com
http:
paths:
- backend:
serviceName: front-end-service
servicePort: 80
path: /
- host: www.domain.com
http:
paths:
- backend:
serviceName: back-end-service
servicePort: 3000
path: /api
tls:
- hosts:
- www.domain.com
secretName: my-sectet
我创造的秘密是存在的。我已经使用此命令
kubectl get secrets
检查了它,并且名称与我在入口资源中使用的名称相同。
正如评论中提到的,本教程将指导您设置自签名证书,该证书不受您的浏览器信任。您需要提供浏览器信任的证书或暂时在本地忽略错误。 LetsEncrypt 是一种获取真实证书的简单且免费的方法,而 cert-manager 是一种通过 Kubernetes 实现这一点的方法。