Nginx 有一个很好的功能,可以让您通过源 IP 地址限制对资源的访问。
但是,我注意到在 nginx 位于代理或负载均衡器之后的情况下可能无法正常工作。就我而言,亚马逊 ELB。
我想为 datadog 代理和 Amazon ELB 运行状况检查提供状态页面。所以我想允许本地连接和来自 ELB 的连接,但拒绝其他一切。
以下内容无法按预期工作,因为它也允许源自 ELB 外部的流量访问状态页面。原因是因为 IP 似乎来自 ELB,并且允许规则不查看标头来确定请求的真实来源。有没有办法告诉 nginx 使用什么源 IP 来确定允许/拒绝规则?
location /status {
stub_status;
access_log off;
allow 127.0.0.1;
allow 10.0.0.0/16;
deny all;
}
正如迈克尔·汉普顿所指出的。我可以使用真实 IP 模块。我没有意识到这一点。
以下工作。