我想将对我的网站的访问限制为某些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的答案,但这没什么。
答案 0 :(得分:0)
您希望在.htaccess文件中添加类似内容:
SetEnvIf X-Forwarded-For 1.2.3.4$ coolpeople
<RequireAny>
Require env coolpeople
</RequireAny>