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

k8s Ingress配置HTTP重定向到HTTPS不生效如何解决?

修复方案

  • 移除冗余注解,仅保留强制SSL重定向配置,新增转发头识别注解适配GKE环境,原配置中nginx.ingress.kubernetes.io/ssl-redirect: "true"和nginx.ingress.kubernetes.io/force-ssl-redirect: "true"功能重叠,保留后者即可,同时新增nginx.ingress.kubernetes.io/use-forwarded-headers: "true"确保nginx可以正确识别原始请求的协议类型,避免跳转死循环或者不跳转问题。
  • 补充www域名的host规则,你配置了nginx.ingress.kubernetes.io/from-to-www-redirect: "true"但Ingress规则中仅声明了mydomain.com,缺少www.mydomain.com的路由规则,会导致跳转逻辑异常。
  • 验证托管证书状态,执行命令kubectl get managedcertificates my-certificate确认证书状态为Active,证书未完成签发前SSL重定向规则不会生效。
  • 配置更新后执行kubectl describe ingress ingress查看事件日志,确认配置已被nginx ingress控制器正常加载无报错。

完整可用Ingress配置参考

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: ingress
  annotations:
    kubernetes.io/ingress.class: "nginx"
    kubernetes.io/ingress.global-static-ip-name: my-address
    networking.gke.io/managed-certificates: my-certificate
    nginx.ingress.kubernetes.io/force-ssl-redirect: "true"
    nginx.ingress.kubernetes.io/use-forwarded-headers: "true"
    nginx.ingress.kubernetes.io/from-to-www-redirect: "true"
spec:
  rules:
  - host: mydomain.com
    http:
      paths:
      - path: /*
        pathType: ImplementationSpecific
        backend:
          service:
            name: my-service
            port:
              number: 2400
  - host: www.mydomain.com
    http:
      paths:
      - path: /*
        pathType: ImplementationSpecific
        backend:
          service:
            name: my-service
            port:
              number: 2400

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 19:45:07