Apache,在使用Cloudflare时将真实IP地址列入白名单

时间:2019-04-03 22:07:02

标签: apache cloudflare

我想将对我的网站的访问限制为某些IP地址。我想从Apache做到这一点。

我尝试过:

RewriteCond %{X-Forwarded-For}i !^xxx\.xxx\.xxx\.xxx
RewriteRule   "^"  "-"  [F]

用我自己的IP地址替换xxx。但是,我仍然被拒绝访问。

我认为这可行的原因是因为在Apache日志中使用%{X-Forwarded-For} i确实显示了我自己的IP地址,而不是Cloudflare的IP地址:

LogFormat "%{X-Forwarded-For}i %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" real_ip

我已经看到了这个问题CloudFlare and logging visitor IP addresses via in PHP,但是它询问的是PHP,而不是Apache。偷偷摸摸的Apache回答说要安装Cloudflare的mod_cloudflare,但是如果不需要,我不愿意安装某些东西。

我尝试了

%{HTTP_CF_CONNECTING_IP}i

基于PHP的答案,但这没什么。

1 个答案:

答案 0 :(得分:0)

您希望在.htaccess文件中添加类似内容:

SetEnvIf X-Forwarded-For 1.2.3.4$ coolpeople

<RequireAny>
    Require env coolpeople
</RequireAny>