使用 mod_rewrite 和 mod_remoteip 使用不同的客户端 IP

使用 mod_rewrite 和 mod_remoteip 使用不同的客户端 IP

我有一个反向代理,我的网站会指向它来帮助进行 DDoS 保护。我已将 mod_rewrite 设置为使用反向代理提供的特定标头,以便每次都提取实际客户端 IP,而不是反向代理 IP。这是因为我希望日志文件显示实际客户端 IP,并且我希望将对 phpMyAdmin 等内容的访问限制为仅限我的家庭连接。

但是,我尝试使用 mod_rewrite 将对我的虚拟主机的访问限制为仅我的反向代理,以便对我的网站的每个请求通过我的反向代理。有没有办法让我只在这些 mod_rewrite 配置中使用常规请求 IP(几乎总是反向代理),而不是从自定义标头中提取的 IP?

我的参考 mod_rewrite 代码(ip-whitelist.txt)是反向代理的 IP 列表。

RewriteEngine On
RewriteMap ipslist txt:ip-whitelist.txt
RewriteCond %{HTTP_X_FORWARDED_FOR} ^(.*)$
RewriteCond ${ipslist:%1|black} ^black$ [NC]
RewriteRule (.*) - [F]

相关内容