使用nginx服务器时,php获取用户ip的方法

我在获取用户ip时,用了多种方法,得到ip地址始终是127.0.0.1,百思不得其解,为什么别人用这些方法都可以获得用户真实ip,我怎么就不行,难倒是人品的问题。后来仔细一想,估计是因为我们使用了nginx代理服务器的缘故,上网一搜,果然也有人遇到这种情况,

我在获取用户ip时,用了多种方法,得到ip地址始终是127.0.0.1,百思不得其解,为什么别人用这些方法都可以获得用户真实ip,我怎么就不行,难倒是人品的问题。后来仔细一想,估计是因为我们使用了nginx代理服务器的缘故,上网一搜,果然也有人遇到这种情况,解决方法如下:

在nginx中设置:
proxy_set_header        Host            $host;
proxy_set_header        X-Real-IP       $remote_addr;
proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;

后端程序可以从Server变量HTTP_X_REAL_IP和HTTP_X_FORWARDED_FOR中获取用户的ip地址。

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

一:确定你的系统是UTF编码 [root@Tserver ~]# env|grep LANG LANG=en_US.UTF-8 二:NGINX配置文件里默认编码设置为utf-8 server { listen 80; server_name .inginx.com ; index index.html index.htm index.php; root /usr/local/nginx/html/inginx.com; ch
7-Zip是一款号称有着现今最高压缩比的压缩软件,它不仅支持独有的7z文件格式,而且还支持各种其它压缩文件格式,其中包括ZIP, RAR, CAB, GZIP, BZIP2和TAR。此软件压缩的压缩比要比普通ZIP文件高30-50%。因此,它可以把经WinZip压缩的文件再压缩2-10%。文件
很多网站需要采用伪静态来访问动态网页。所以像phpcms这样的系统,都提供了一个.htaccess文件,供写伪静态规则。但这个规则是针对Apache的。在nginx服务器上并不起作用。 nginx 可以直接将伪静态规则写在配置文件中,但这个需要有服务器管理权限,普通站长不
随着智能手机的普及,越来越多的人使用手机上网,很多网站也应手机上网的需要推出了网站客户端,.apk文件就是安卓(Android)的应用程序后缀名,默认情况下,使用IIS作为Web服务器的无法下载此文件,那么怎么才能让IIS支持.apk文件的下载呢? IIS服务器不能下
在网站建设中需要网页重定向的情况很多:如网页目录结构变动,网页重命名、网页的扩展名改变、网站域名改变等。如果不做重定向,用户的收藏和搜索引 擎数据库中的旧地址只能让访客得到一个404错误信息页面,访问流量白白丧失。不仅如此,之前该页面的一切积
安装PDF转换和文档在线预览插件后,管理员可以设置只允许用户下载文档的PDF版本,而无法下载原始文档;或者管理员可以设置用户只能通过浏览器在线预览文档内容,无法下载文档,或者复制/粘贴文档内容。 您从网站下载的DocCare试用版软件不包括该插件。 如果