Elastic Load Balancer 后面的 nginx 网络服务器上基于位置的 IP 白名单

Elastic Load Balancer 后面的 nginx 网络服务器上基于位置的 IP 白名单

我在 AWS 的弹性负载均衡器后面运行 nginx 网络服务器。真实 IP 是通过 X-Forwarded-For 获得的。面临的问题是如何使用它来拒绝所有来源并仅将特定位置的特定来源列入白名单。

类似于: location /test/ { include /etc/nginx/allowed-XForwardedFor.conf; 拒绝所有; }

我可以使用变量捕获 X-Forwarded-For IP,然后在 conf 文件中使用它,或者以某种方式在位置中与允许选项一起使用它,或者在 if 条件的帮助下执行它吗?

答案1

使用nginx realip 模块,那么您就不必担心 X-Forwarded-For 标头;您可以像没有负载均衡器一样对 IP 地址采取行动。

示例配置:

http {
        real_ip_header X-Forwarded-For;
        set_real_ip_from 172.19.0.0/16; # Netblock for my ELB's

相关内容