AWS 负载均衡器允许 URL 路径上的某些 IP 地址

var*_*run 2 reverse-proxy amazon-ec2 amazon-web-services aws-elb aws-alb

目前,我在 AWS 上使用应用程序负载均衡器设置了一个应用程序,目标组中有 2 个 EC2:

DNS -> AWS-ALB -> EC2(2)

我需要帮助仅允许应用程序 URL 上下文路径上的某些 IP 地址。

例如:www.abc.com 应该可供所有人访问,但 www.abc.com/xyz 应该只能由某些 IP 地址访问。

我在 EC2 上尝试了 NGINX 解决方案,只有当我使用允许和拒绝规则直接访问 EC2 IP 时才有效。

bek*_*ate 5

我能够通过基于路径和源 IP 组合在 ALB 上设置侦听器规则来解决此问题。

假设您希望允许从 IP 地址池 123.123.123.120/30 访问 www.abc.com/xyz/*,并拒绝其他任何人。

ALB 规则:

  1. IF Source IP is 123.123.123.120/30 AND Path is /xyz/* THEN Forward to your-application-target-group

  2. 如果路径是 /xyz/* THEN 返回固定响应 403(或任何适合您的用例)

  3. IF 请求否则不会被路由 THEN 转发到 your-application-target-group

https://docs.aws.amazon.com/elasticloadbalancing/latest/application/listener-update-rules.html