【发布时间】:2019-03-24 19:41:46
【问题描述】:
我想在 Google Cloud 中为我的应用程序启用 https 连接。我遵循了几个教程,但似乎没有任何效果。
我已经使用 Ingress 在 GKE 上部署了应用程序。这里是ingress.yml:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: myapp-ingress
annotations:
kubernetes.io/ingress.global-static-ip-name: myapp-ip
spec:
backend:
serviceName: myapp-service
servicePort: 80
使用ip地址访问它就可以了,网站可以从互联网访问。
我使用 Google 域购买了域,并通过添加指向我的外部 IP 地址和 CNAME 记录的 A 记录来配置 DNS 区域。现在,该域可以完全访问应用程序。
然后我通过运行命令创建了 SSL 证书和 Kubernate 密钥:
openssl genrsa -out myapp-ingress-1.key 2048
openssl req -new -key myapp-ingress-1.key -out myapp-ingress-1.csr -subj "/CN=myapp.co.uk"
openssl x509 -req -days 365 -in myapp-ingress-1.csr -signkey myapp-ingress-1.key -out myapp-ingress-1.crt
kubectl create secret tls myapp-tls-secret-1 --cert myapp-ingress-1.crt --key myapp-ingress-1.key
并更新ingress.yml:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: myapp-ingress
annotations:
kubernetes.io/ingress.global-static-ip-name: myapp-ip
spec:
tls:
- secretName: myapp-tls-secret-1
rules:
- host: myapp.co.uk
http:
paths:
- backend:
serviceName: myapp-service
servicePort: 80
我尝试了几个 ingress.yml 文件,按照互联网上的不同示例,但没有一个有效。
谁能给我建议?
【问题讨论】:
标签: https kubernetes kubernetes-ingress