无法允许/拒绝 IP 访问

无法允许/拒绝 IP 访问

我在 Ubuntu 14.04 上有一个正常运行的服务器。我试图使用允许/拒绝块来限制对文件的访问:

<Files "login.php">
order deny,allow
deny from all
allow from 22.123.123.12
</Files>

这成功拒绝了所有用户并告诉他们“禁止访问。您无权访问...”。如果我删除“拒绝所有人”行,它允许我查看登录屏幕。

但无论我做什么,调试什么,当我使用这个 IP 地址时,我都无法让它让我查看这个文件。'allow' 语句似乎永远不起作用。

已经尝试过一些调试:

  • 我尝试添加AllowOverride All到我的主机配置中以确保文件/授权模块本身正常工作。
  • 我尝试了许多其他允许/拒绝语句
  • 该语句当前位于 .htaccess 文件中,但我尝试将其移入主机配置,但也不起作用。

其他可能相关的信息:

  • 我使用了一些 PHP 在网页上输出我的 IP:成功识别为 22.123.123.12。
  • 我正在为网页使用 SSL,因此我正在访问文件https://example.com/login.php。不确定这是否会影响事情。

我开始怀疑服务器出于某种原因认为我在这个 IP 地址上,但搞不清楚为什么会这样。有什么想法吗?

答案1

感谢@ChrisLam 的评论,我意识到访问日志中显示的 IP 地址与我当前的 IP 不同。

这个 IP 108.162.225.167 似乎与 CloudFlare.com 的服务器相匹配,我们正在使用该服务器来加速网站速度。

尽管设置了不缓存此页面的规则,但请求的 IP 地址仍然没有被传回服务器。CloudFlare 表示:

“由于 CloudFlare 充当代理,您会注意到网站访问者的 IP 地址在服务器日志和 Web 应用程序中显示方式的变化 - 值得注意的是所有访问似乎都来自 CloudFlare IP 地址。”

安装 CloudFlare 的mod_cloudflareApache httpd 模块允许这些 IP 地址传回服务器,并完美地解决了我的问题。

CloudFlare 网站上提供的下载和信息: https://www.cloudflare.com/resources-downloads#mod_cloudflare

相关内容