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;
}
Run Code Online (Sandbox Code Playgroud)
正如迈克尔·汉普顿所指出的那样。我可以使用 Real IP 模块。我不知道。
以下工作。
http {
real_ip_header X-Forwarded-For;
set_real_ip_from 0.0.0.0/0;
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2793 次 |
最近记录: |