我正在使用特定 IP 范围的目录列表。最近,我们将 Web 服务器迁移到 AWS 并使用 ELB。现在,即使我在 Apache 禁止访问的 IP 范围内。有人可以帮助我吗?
答案1
如果客户端和 Web 服务器之间有任何代理或 ELB,则 Web 服务器的可见 IP 将是该代理/ELB IP。在这种情况下,您可以限制通过X-Forwarded-For
IP 的访问。
以下是一些示例:
阿帕奇2.4
SetEnvIf X-Forwarded-For "202.12.32.1" allowed_list
SetEnvIf X-Forwarded-For "202.32.32." allowed_list
Require env allowed_list
阿帕奇2.2
SetEnvIf X-Forwarded-For "202.12.32.1" allowed_list
SetEnvIf X-Forwarded-For "202.32.32." allowed_list
Order deny,allow
Deny from all
Allow from env=allowed_list
答案2
启用并配置mod_remoteip。您需要识别 ELB 使用的 IP 地址。 (或者您可以允许任何人欺骗 X-Forwarded-For,但使用某些防火墙设施来阻止不是来自 ELB 的对您的网络服务器的访问。也许亚马逊有这样的功能)。