You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Kubernetes GCE Ingress未启用HSTS,强制HTTPS遇配置问题

解决GCE Ingress强制HTTPS并保留自签证书的问题

为什么之前的配置没生效?

  • 你使用的是GCE Ingress控制器,nginx.ingress.kubernetes.io/force-ssl-redirect是Nginx Ingress专用注解,GCE完全不识别,所以HTTP访问依然可以正常进入。
  • 开启kubernetes.io/ingress.allow-http: "false"后,GCE Ingress默认会自动创建并绑定Google管理的SSL证书,直接覆盖了你指定的app-tls自签证书,这就是浏览器报SSL错误的核心原因。

正确配置方案

要实现仅HTTPS访问+使用自签证书,需要调整两个关键配置:

1. 禁用HTTP并阻止自动生成Google管理证书

保留kubernetes.io/ingress.allow-http: "false"关闭HTTP端口,同时添加networking.gke.io/managed-certificates: ""注解,明确告诉GCE不要自动创建管理证书,强制使用你指定的自签证书。

2. 确认TLS配置有效性

确保tls块中secretName指向的app-tls Secret已正确创建在Ingress所在命名空间,且证书包含example.app域名(自签证书需手动导入浏览器信任,否则仍会提示证书风险)。

最终完整配置

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"
    kubernetes.io/ingress.allow-http: "false"
    # 禁用Google自动管理证书,强制使用自定义自签证书
    networking.gke.io/managed-certificates: ""
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增强安全性

如果需要启用HSTS(HTTP Strict Transport Security),可以创建FrontendConfig资源来配置:

apiVersion: networking.gke.io/v1beta1
kind: FrontendConfig
metadata:
  name: app-hsts-config
spec:
  redirectToHttps:
    enabled: true
    # 可选:指定重定向响应码,默认是301永久重定向
    responseCodeName: MOVED_PERMANENTLY_DEFAULT
  # 可选:绑定自定义SSL策略,比如强制使用TLS 1.2+
  sslPolicy: "custom-tls-policy"

然后在Ingress的注解中关联这个FrontendConfig:

metadata:
  annotations:
    # ...其他已有注解
    networking.gke.io/v1beta1.FrontendConfig: "app-hsts-config"

内容的提问来源于stack exchange,提问作者Martin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 13:50:26