首页 > 解决方案 > 在 AWS ALB 上使用多个域在 NGINX 级别阻止 IP

问题描述

我有一个 AWS ALB,它附加到多个域名。ALB 将流量转发到带有 NGINX 的 EC2 机器,这里 NGINX 也有多个与之关联的域。

我只想允许从特定 IP 访问我的域之一。并且所有其他域都应该可以从 0.0.0.0/0 访问。

这可以通过仅修改该域的配置文件而不是修改 nginx.conf 来完成(这样该设置将仅适用于一个域)

PS 限制应仅适用于单个域。

标签: nginxproxyx-forwarded-foraws-alb

解决方案


下面提到的配置行对我有用

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
real_ip_header X-Forwarded-For;
set_real_ip_from 10.0.0.0/16;
allow XX.XX.XX.XX/32;
allow XX.XX.XX.XX/32;
allow XX.XX.XX.XX/32;
allow 10.0.0.0/16;
deny all;

这里是 10.0.0.0/16;是允许从 ALB 访问的 VPC 的 IP CIDR。


推荐阅读