我们有一个已锁定的端点,仅可从特定 IP 访问。我们有一个类似这样的配置部分:
<Location /Foo>
Order allow,deny
Allow from 111.111.111.111
Allow from 111.222.333.444
...
</Location>
现在,我们已经需要在几台机器之间进行负载平衡,但我们仍然需要将其锁定为只能从那些 IP 进行访问。
那么...我该如何将 Apache 设置Allow from
为X-Forwarded-For
?
答案1
假设您有一个负载均衡器正在执行 SNAT/NAPT 来隐藏客户端 IP 地址。
您是否见过这个使用 SetEnvIf 解决问题的答案?Apache,使用 X-Forwarded-For 允许
那个答案中有一个关于锻造的评论。我想指出的是:
- 可以直接访问您的服务器的人(可能是内部攻击者)可以伪造 X-Forwarded-For 标头,因此您还应该将 Apache 锁定为仅负载均衡器 SNAT 地址。
- 您的负载均衡器应该从传入请求中清除 X-Forwarded-For 标头,以便外部攻击者无法伪造它。