nslookup 返回的 IP 与 $_SERVER['SERVER_ADDR'] 不同

nslookup 返回的 IP 与 $_SERVER['SERVER_ADDR'] 不同

在对系统管理了解不多的情况下,我注意到的情况简要如下:运行 nslookup the-site.com 返回一些 IP,但在该站点上运行 $_SERVER['SERVER_ADDR'] 返回不同的 IP。

有人可以解释一下为什么会有这种差异吗?

详细版:我为什么要问这个问题?我试图从我的安全插件(在 WordPress 上)将客户端 IP 列入白名单,但即使将我从 nslookup 获得的 IP 列入白名单后,他似乎仍然被列入黑名单。然后我尝试将 $_SERVER['SERVER_ADDR'] 返回的 IP 列入白名单(在他的网站上执行),这成功了。

谢谢!

答案1

PHP 服务器变量$_SERVER['SERVER_ADDR']由执行 PHP 代码的 Web 服务器设置。

在很多情况下,运行代码的实际 Web 服务器的 IP 地址与 URL 中的 DNS 域名关联的 IP 地址不同:

  • 该网站位于 CloudFront 等 CDN 后面。
  • 该网站位于负载均衡器后面
  • 该网站位于反向代理服务器后面
  • ETC。

相关内容