`
ssxxjjii
  • 浏览: 950283 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

nginx 代理模式下,获取客户端真实IP

 
阅读更多

最近做博友推荐,发现个小问题,用$_SERVER['REMOTE_ADDR'];得到的都是服务器的地址192.168.96.52,搜索了一下,发现问题,改为$_SERVER['HTTP_X_REAL_IP'];

nginx 代理模式下,获取客户端真实IP

 

在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地址。

HTTP_X_REAL_IP的值是nginx得到的用户REMOTE_ADDR

 

--------------------------

http://gong1208.iteye.com/blog/1559835

分享到:
评论

相关推荐

    nginx做反向代理时的真实IP_nginx反向代理_

    在反向代理模式下,Nginx接收到的请求头部信息可能包含多个IP地址,而我们通常需要的是原始客户端(用户)的IP地址,即真实IP。 要获取Nginx反向代理下的真实IP,主要涉及以下两个关键配置: 1. **$remote_addr ...

    PHP 获取客户端 IP 地址的方法实例代码

    $_SERVER[‘HTTP_X_REAL_IP’]:nginx 代理模式下,获取客户端真实IP /** * 获取客户端IP地址 */ function real_ip() { $ip = $_SERVER['REMOTE_ADDR']; if (isset($_SERVER['HTTP_X_FORWARDE

    Nginx反向代理springboot的jar包过程解析

    在反向代理模式下,Nginx监听在前端的80端口,根据配置将外部请求转发到后端不同的端口上运行的springboot应用。Nginx还可以作为静态资源服务器、负载均衡器,并且支持IMAP/POP3/SMTP等协议,因此非常适合用于部署...

    nginx-1.16.1.tar.gz

    反向代理模式下,Nginx 接收客户端请求,然后将请求转发到后端服务器;负载均衡模式则会根据预设策略将请求分发到不同的服务器,以提高服务可用性和响应速度。 2. **Nginx 模块化设计** Nginx 的核心功能是通过一...

    nginx-0.9.2.zip

    5. ** ngx_http_realip_module**:获取客户端真实 IP。 **总结** Nginx 以其高效、轻量级的特性在 web 服务领域占据了一席之地。其出色的并发处理能力、低资源消耗以及强大的反向代理功能,使得它在大型网站和高...

    登录ip BS java

    在没有使用代理服务器的情况下,这通常是获取客户端IP的最直接方式。 代码中检查了"unknown"这个值,这是因为某些情况下,如果无法获取到IP地址,这些头字段的值可能会被设置为"unknown"。 在局域网和远程环境下,...

    nginx.pptx

    反向代理是Nginx的核心功能之一,它隐藏了后端服务器的真实地址,接收客户端请求并将它们转发给适当的服务器。客户端只与Nginx交互,对后端服务器的细节一无所知。这提高了系统的安全性和可伸缩性,同时允许负载均衡...

    Nginx 应用技术指南

    为了避免安全风险,可以修改Nginx返回的server header,隐藏服务器的真实身份。 **3.3 Tcmalloc优化Nginx性能** 通过使用第三方内存分配器如Tcmalloc,可以进一步提升Nginx的性能表现。 **3.4 减小编译后文件大小*...

    CentOS下Nginx安装笔记

    - **Cwith-http_realip_module**:支持获取真实客户端 IP 地址。 - **Cwith-http_gzip_static_module**:支持静态文件预压缩功能。 - **Cwith-http_stub_status_module**:提供用于监控 Nginx 状态的简单模块。 - **...

    Nginx 反向代理、负载均衡、页面缓存、URL重写及读写分离详解

    这种模式下,代理服务器接收客户端请求后转发给后端服务器,并将后端服务器的响应返回给客户端。Nginx作为一款优秀的反向代理服务器,能够高效地处理此类请求。 - **配置示例**: - 在`nginx.conf`中定义一个`...

    【面试资料】-(机构内训资料)Nginx面试专题(1).zip

    - **第三方模块**:Nginx有丰富的第三方模块,如ngx_http_rewrite_module(重写)、ngx_http_realip_module(设置真实IP)等。 - **自定义模块开发**:通过C语言编写,扩展Nginx功能。 面试中,对Nginx的理解不仅...

    Nginx模块参考手册中文版.pdf

    获取真实客户端IP地址,绕过代理服务器的影响。 #### 4.8 SSL模块(SSL) 实现HTTPS加密通信,保障数据传输安全。 #### 4.9 StubStatus模块(StubStatus) 提供简单的服务器状态信息,便于监控。 #### 4.10 ...

    详解实现Nginx+Tomcat实现单IP、多域名、多站点的访问

    其中Host头部信息会被设置为当前请求的域名,X-Real-IP和X-Forwarded-For则分别用于获取客户端的真实IP和经过代理的IP,这在Web应用需要获取用户真实IP时非常有用。 值得注意的是,在使用Nginx与Tomcat配置单IP多...

    2022最新版运维最全面面试题!

    4. **获取真实IP**:在Nginx中,由于可能经过多个代理服务器,要获取客户端的真实IP,可以使用`real_ip_header`和`set_real_ip_from`配置项,结合X-Forwarded-For头来实现。 5. **Nginx跨域**:跨域是浏览器的安全...

    详解Nginx日志配置及日志切割

    在实际使用中,Nginx通常部署在负载均衡器、Squid代理服务器或Nginx反向代理之后,此时Web服务器可能无法直接获取到客户端的真实IP地址。这时就需要使用X-Forwarded-For头部信息来记录客户端的IP地址。 关于日志的...

    nginx从编译安装到配置文件说明中文详细介绍

    - 其他选项,如`--with-http_gzip_static_module`(启用静态文件的GZIP压缩)和`--with-http_realip_module`(获取客户端真实IP)。 4. **配置文件示例** 基本配置文件`nginx.conf`可能包含如下内容: ```...

    nginx动静分离

    # 设置真实IP proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; # 设置转发地址 client_max_body_size 10m; # 客户端最大请求体大小 client_body_buffer_size 128k; # 请求体缓冲区大小 proxy_...

    Nginx的使用经验小结

    在处理反向代理时,可能会遇到客户端IP被隐藏的问题,此时可以通过`real_ip_header`和`set_real_ip_from`设置来修复,确保后端服务器能够获取到真实的客户端IP。 总之,Nginx凭借其高效稳定和灵活配置的特点,在...

Global site tag (gtag.js) - Google Analytics