使用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地址。

本站部分内容来源互联网,如果有图片或者内容侵犯了您的权益,请联系我们,我们会在确认后第一时间进行删除!

相关文档推荐

Nginx让http的链接自动跳转到https的链接,其实方法还是蛮多的,下面介绍两种常用方法。 方法一 可以把所有的HTTP请求通过rewrite重写到HTTPS上 server{ listen 80; server_name XXXXX.com; //你的域名 //rewrite ^(.*)$ https://XXXXXX.com permanent; rewri
CPU就是服务器的核心所在,不论处理任何任务都需求CPU来完成,一旦CPU呈现爆满,那么咱们的服务器就会呈现卡顿乃至是死机无法连接等状况,那么假如咱们的服务器CPU间歇性跑满,该如何处理呢? 首先我们要观察服务器的运行状态,如果是突然性的跑满或者在某一
一:确定你的系统是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服务器不能下