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

如何为EKS中运行的应用配置特定路由的IP白名单?

EKS ALB Ingress 特定路由IP白名单配置方案

要实现仅指定IP访问目标路由、其他路由开放的需求,你可以通过拆分Ingress路径规则+ALB注解配置的方式完成,具体方案如下:

完整配置示例

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: app-ingress
  annotations:
    # 定义限制路由的匹配规则:覆盖目标的3个路由及子路径
    alb.ingress.kubernetes.io/conditions.restricted-routes: |
      [{"field":"path-pattern","pathPatternConfig":{"values":["/myservice/api/v1/servicename/route*"]}}]
    # 配置允许访问限制路由的IP白名单,单个IP用/32后缀,多IP用逗号分隔
    alb.ingress.kubernetes.io/whitelist-source-range: 153.197.13.192/32,153.197.13.207/32
    # 可选:根据你的环境配置ALB网络模式,比如内部或公网
    alb.ingress.kubernetes.io/scheme: internet-facing
spec:    
  ingressClassName: alb    
  rules:
  - http:
      paths:
      # 第一组路径:匹配需要限制的路由,关联白名单规则
      - backend:
          service:
            name: service-name
            port:
              number: 80
        path: /myservice/api/v1/servicename/route
        pathType: Prefix
        conditions:
          - conditionName: restricted-routes
      # 第二组路径:匹配其他所有/servicename前缀的路由,无IP限制
      - backend:
          service:
            name: service-name
            port:
              number: 80
        path: /servicename
        pathType: Prefix

关键配置说明

  1. 路径匹配规则:
    通过alb.ingress.kubernetes.io/conditions.restricted-routes注解定义路径匹配模板/myservice/api/v1/servicename/route*,可以同时覆盖你指定的3个路由(父路径/route和子路径/routeA、/routeB)。
    若需要更精确的匹配(避免意外覆盖其他子路径),可以拆分为3条pathType: Exact的路径规则,都关联同一个restricted-routes条件。

  2. IP白名单绑定:
    alb.ingress.kubernetes.io/whitelist-source-range注解指定允许访问限制路由的IP列表,仅当请求来自这些IP且匹配目标路径时,ALB才会转发流量到后端服务。

  3. 路径优先级:
    Ingress的路径规则按声明顺序匹配,因此需要把限制路由的规则放在前面,确保优先匹配,避免被后面的/servicename前缀规则覆盖。

注意事项

  • 确保你的ALB Ingress Controller版本在v2.0及以上,该版本支持条件匹配与白名单的组合配置。
  • 配置应用后,ALB会自动生成对应的Listener规则,无需手动操作负载均衡器。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 15:10:27