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

EKS Load Balancer无法实现HTTP到HTTPS的重定向问题求助

EKS中HTTP流量无法重定向至HTTPS的解决方法

问题根源

你当前通过Service类型LoadBalancer创建的是AWS经典负载均衡器(CLB),但添加的alb.ingress.kubernetes.io/xxx系列注解是专用于ALB Ingress Controller的配置项,CLB无法识别这类注解,导致重定向规则完全不生效。

解决方案一:在CLB上手动配置重定向

如果要继续使用现有CLB,需通过AWS控制台或CLI手动完成重定向配置:

  • 登录AWS控制台,进入EC2服务的「负载均衡器」页面,找到名为admin-test-com的CLB
  • 切换到「监听器」标签,选中HTTP(80端口)的监听器,点击「编辑规则」
  • 添加规则:将所有HTTP请求重定向到HTTPS(443端口),设置状态码为301(永久重定向)
  • 保存规则后,测试HTTP访问是否会自动跳转至HTTPS

解决方案二:改用ALB Ingress实现(推荐)

在Kubernetes中,通过Ingress资源结合ALB Ingress Controller管理负载均衡和路由是更规范的方式,配置步骤如下:

  1. 调整原有Service类型
    将原Service的type改为ClusterIP(Ingress会作为公网入口,Service无需直接暴露):
apiVersion: v1
kind: Service
metadata:
  labels:
    app: ledger-admin
  name: ledger-admin
spec:
  ports:
  - name: http
    port: 80
    targetPort: 80
  selector:
    app: ledger-admin
  type: ClusterIP
  1. 创建Ingress资源
    创建Ingress配置文件(比如ledger-admin-ingress.yaml),内置HTTPS证书和重定向规则:
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: ledger-admin-ingress
  annotations:
    alb.ingress.kubernetes.io/scheme: internet-facing
    alb.ingress.kubernetes.io/target-type: ip
    alb.ingress.kubernetes.io/ssl-redirect: '443'
    alb.ingress.kubernetes.io/certificate-arn: arn:aws:acm:us-east-1:52943:certificate/01143f-XXX
    external-dns.alpha.kubernetes.io/hostname: admin.test.com
spec:
  ingressClassName: alb
  rules:
  - host: admin.test.com
    http:
      paths:
      - path: /
        pathType: Prefix
        backend:
          service:
            name: ledger-admin
            port:
              number: 80
  1. 应用配置
    执行命令完成资源更新:
kubectl apply -f ledger-admin-service.yaml
kubectl apply -f ledger-admin-ingress.yaml

等待ALB创建完成后,HTTP访问admin.test.com会自动重定向到HTTPS。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 11:33:30