我试图阻止 http 并只允许在 GCP 中部署的应用程序使用 https。对于路由,使用 ningx ingress 和 tcp 负载均衡器将流量从客户端路由到应用程序。
即使在 ingress yaml 中添加以下配置后,应用程序仍会提供 http。
kubernetes.io/ingress.allow-http: "false"
提前致谢。
我试图阻止 http 并只允许在 GCP 中部署的应用程序使用 https。对于路由,使用 ningx ingress 和 tcp 负载均衡器将流量从客户端路由到应用程序。
即使在 ingress yaml 中添加以下配置后,应用程序仍会提供 http。
kubernetes.io/ingress.allow-http: "false"
提前致谢。
我重现了您的问题并通过删除入口资源并使用kubernetes.io/ingress.allow-http: "false"
注释部署新资源来解决它。根据GCP 文档:
注意:对于现有的 Ingress,HTTP 负载均衡器资源不会在添加
kubernetes.io/ingress.allow-http
注释时自动删除,并将其值设置为false
。解决方法是删除 Ingress 并使用添加的注释重新创建它。从 GKE 版本 1.16.4-gke.25 开始,HTTP 负载平衡器资源会在更新 Ingress 以禁用 HTTP 负载平衡时自动删除。
因此,如果您有 1.16.4-gke.25 之前的 GKE 版本,则必须删除入口资源,然后必须使用此注释创建新入口。