我正在编辑一个远程服务器,由于某种原因,它正在返回127.0.0.1
,我也在我的iPhone上尝试了它,它做了同样的事情。
echo $_SERVER['REMOTE_ADDR']; // returns 127.0.0.1
答案 0 :(得分:6)
这意味着执行脚本的客户端托管在本地主机上。
可能是因为包含$ _SERVER ['REMOTE_ADDR']的脚本是使用来自同一服务器上另一个脚本的CURL请求调用的。
也可能是因为代理系统。
Using Django, why would REMOTE_ADDR return 127.0.0.1 on a web server?
的可能间接重复答案 1 :(得分:1)
听起来就像你在该服务器上命中代理一样。
我没有尝试过,但是像nginx这样的安装可能会有相同的行为。
答案 2 :(得分:1)
迟到但我在Plesk 11服务器上遇到了同样的问题。我在荷兰论坛(tweakers.net)上发现它与Nginx有关,这是在Plesk 11中启用的标准.Nginx充当代理并为要提供的数据提供apache。因为Nginx正在提供数据apache从Nginx获取localhost IP。
在Plesk 11和更新版本中禁用Nginx的过程非常简单。请按照分步说明,在Plesk安装中快速禁用Nginx。
一旦“反向代理服务器(nginx)”停止,您就会注意到Apache接管了所有的Web请求。
答案 3 :(得分:0)
您的iPhone是否已连接到计算机所连接的同一网络?