我在Google Cloud中成功部署了我的Web应用程序。它通过HTTP服务。我遵循了有关如何添加SSL证书的所有指南,并根据Google Cloud Console添加,但是当您尝试访问Web应用程序HTTPS时,它仅作为HTTP工作。浏览器说"无法到达此网站"
我的入口yaml看起来像
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: no-rules-map
spec:
tls:
- secretName: testsecret
backend:
serviceName: s1
servicePort: 80
秘密
apiVersion: v1
data:
tls.crt: [crt]
tls.key: [key]
kind: Secret
metadata:
name: testsecret
namespace: default
type: Opaque
我使用此命令上传我的SSL证书
kubectl create secret tls tls-secret --key=/tmp/tls.key --cert=/tmp/tls.crt
而不是下面的YAML文件秘密,其效果更好。至少对于Google Cloud
apiVersion: v1
data:
tls.crt: [crt]
tls.key: [key]
kind: Secret
metadata:
name: testsecret
namespace: default
type: Opaque
确保您何时进入Google Cloud Constole中的Kubernates Engine -> Configuration
,该秘密类型是Secret: kubernetes.io/tls
,而不仅仅是Secret
。当您使用YAML创建秘密时,它仅作为秘密而不是秘密创建:kubernetes.io/tls。
有关更多信息,您可以查看以下链接:https://github.com/kubernetes/ingress-gce#backend-https
在此处输入链接说明
https://cloud.google.com/kubernetes-engine/docs/tutorials/http-balancer#remarks