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

ALB Ingress资源配置ssl-redirect注解实现HTTP跳转HTTPS(AWS ALB v2.4.2)

AWS ALB Controller v2.4.2 配置Ingress HTTP自动跳转HTTPS方案

针对v2.4.2版本的AWS ALB Controller,直接通过官方内置注解即可实现SSL重定向,不需要额外部署重定向后端服务,具体配置方式如下:

核心配置规则

你需要在Ingress资源的metadata.annotations段添加两个必填注解:

  • alb.ingress.kubernetes.io/listen-ports: '[{"HTTP": 80}, {"HTTPS":443}]':必须同时声明80(HTTP)和443(HTTPS)两个监听端口,只配置443端口的话ALB不会接收HTTP请求,重定向逻辑完全不触发。
  • alb.ingress.kubernetes.io/ssl-redirect: "443":SSL重定向核心开关,值为HTTPS监听端口,固定填字符串格式的"443"即可。配置生效后ALB会自动给80端口的所有请求返回308永久重定向响应,跳转到对应HTTPS地址,不会将HTTP流量转发到后端业务Pod。

最小可用配置示例

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: business-ingress
  annotations:
    kubernetes.io/ingress.class: alb
    alb.ingress.kubernetes.io/listen-ports: '[{"HTTP": 80}, {"HTTPS":443}]'
    alb.ingress.kubernetes.io/ssl-redirect: "443"
    # 替换为你自己的ACM证书ARN
    alb.ingress.kubernetes.io/certificate-arn: arn:aws:acm:区域:账号ID:certificate/证书唯一标识
    # 原有其他注解(如ALB公网/内网模式、安全组、子网选择等)可正常保留
spec:
  rules:
  - host: your-domain.com
    http:
      paths:
      - path: /
        pathType: Prefix
        backend:
          service:
            name: your-business-service
            port:
              number: 80

常见踩坑说明

  • 注意格式要求:ssl-redirect的取值必须加双引号,以字符串格式传入,不要直接写裸数字443,否则YAML序列化后类型不匹配,控制器无法识别该注解。
  • 不需要手动为80端口配置任何后端转发规则,控制器识别到SSL重定向注解后会自动覆盖80端口的转发逻辑,手动配置80端口转发规则反而会导致重定向失效。
  • v2.4.2版本默认返回308永久重定向状态码,该状态码会保留原请求的方法、请求体,适配GET/POST/PUT等所有请求类型,不需要额外添加注解修改重定向状态码,默认配置即可满足绝大多数业务场景。
  • 配置后如果重定向未生效,优先排查两点:一是80端口是否在listen-ports中正确声明,二是注解值格式是否符合要求,90%以上的不生效问题都是这两个原因导致的。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 01:12:25