我当前的入口配置是:
apiVersion: "networking.k8s.io/v1"
kind: "Ingress"
metadata:
name: "app-ingress"
annotations:
kubernetes.io/ingress.global-static-ip-name: "app-external-ip"
kubernetes.io/ingress.class: "gce"
spec:
tls:
- hosts:
- "example.app"
secretName: "app-tls"
rules:
- host: "example.app"
http:
paths:
- path: "/"
pathType: "Prefix"
backend:
service:
name: "app-service"
port:
number: 80
现在我没有启用HSTS。我可以输入example。应用程序与HTTP和HTTPS协议,但我想严格的只有HTTPS。我试着:
使用nginx.ingress.kubernetes- 。io/force-ssl-redirect:"true"- http仍然可用
- 使用kubernetes.io/入口。允许http:"false"-创建谷歌管理证书(我使用自签名一个应用程序-tls),使SSL证书错误在浏览器。我很确定第二个应该是选项,我做错了什么或错误配置的东西。
您的入口类是GCE并且可能正在使用GCE入口所以Nginx注释
所以你必须创建apiVersion: networking.gke.io/v1beta1
kind: FrontendConfig
metadata:
name: my-frontend-config
spec:
redirectToHttps:
enabled: true
responseCodeName: MOVED_PERMANENTLY_DEFAULT
阅读更多:Doc ref