`
newspringwork
  • 浏览: 99000 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

Nginx获取真实IP

 
阅读更多

通过Nginx作为前端服务器转发后,获取到的并不是真实的IP,需要通过下面一段才能获得真实的IP

        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

 然后Java中就可以通过X-Real-IP头来获取真实的IP了

public String getRealIp(HttpServletRequest request) {
		String ip = request.getHeader("X-Real-IP");
		if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
			ip = request.getHeader("x-forwarded-for");
		}
		if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
			ip = request.getRemoteAddr();
		}
		return ip;
	}

 

分享到:
评论

相关推荐

    使用slb后nginx、apache获取真实ip.docx

    使用slb后nginx、apache获取真实ip.docx

    获取客户端真实IP(支持代理服务器)

    获取客户端真实IP(支持代理服务器)

    nginx经过多层代理后获取真实来源ip过程详解

    nginx取 $remote_addr 当做真实ip,而事实上,$http_X_Forwarded_For 才是用户真实ip,$remote_addr只是代理上一层的地址 解决方案: 在 http 模块 加 set_real_ip_from 172.17.10.125; #上一层代理IP地址 real_ip_...

    nginx扩展应用-获取真实IP.docx

    此获取访问者真实ip仅限于在七层上,详细步骤及操作如下

    基于Nginx 反向代理获取真实IP的问题详解

    解决该问题,需要在Nginx反向代理配置中添加一些配置信息,目的将客户端的真实IP和域名传递到应用程序中。同时,也要修改获取IP地址的方法。 但是需要注意的是,通过Nginx反向代理后,如果访问IP通过了几层代理,...

    让iis记录nginx反向代理的真实ip

    在f5的开发论坛上找到的,按开发者的话说,是为了解决iis放在f5后记录不到用户ip的问题,管他前端是f5还是nginx还是squid还是haproxy,都可以用。装完之后重启下iis即可。https://devcentral.f5.com/weblogs/J

    java socket 用户真实IP测试

    java socket nginx tcp转发 用户真实IP测试,文章请看我的博客

    利用nginx如何匹配多个条件

    但是在微信上访问会出现ip不是真实ip的情况。真实ip出现在$http_x_forwarded_for里面。 处理方法 需求 这里需要匹配$remote_addr $http_x_forwarded_for这两项其中一个获取是内部ip即可访问。 配置nginx $remote_...

    代理获取真是ip.pdf

    各类型代理服务器如何获取真实ip的一个文档。 内容还算详细包括,iis,apache,nginx等代理服务器获取ip

    Java中使用HttpRequest获取用户真实IP地址

    主要介绍了Java中使用HttpRequest获取用户真实IP地址,使用本文方法可以避免Apache、Squid、nginx等反向代理软件导致的非真实IP地址,需要的朋友可以参考下

    nginx:使用Nginx自动执行各种任务的脚本集合

    denylist-generator.sh从文件黑名单中的CIDR列表中读取并生成Nginx deny conf 要添加到Nginx的nginx-realip.conf配置,以从AWS ELB获取真实IP nginx-realip.sh将Nginx重新配置为使用由AWS ELB添加的X-Forwarded-For...

    Nginx基础学习之realip模块的使用方法

    用途 :当本机 Nginx 处于反向代理后端时可以获取到用户的 真实IP地址 。 使用 : realip 功能需要 Nginx 添加 ngx_http_realip_module 模块,默认情况下是不被编译,如果需要添加,请在编译时添加 –with-...

    Java获取客户端IP

    但是在通过了Apache,Squid等反向代理软件不能获取到客户端的真实IP地址了。  原因:由于在客户端和服务之间增加了中间代理,因此服务器无法直接拿到客户端的IP,服务器端应用也无法直接通过转发请求的地址返回给...

    LNAMP架构中后端Apache获取用户真实IP地址的2种方法

    Nginx作为前端,Apache作为后端的情况下,Apache只能获取到Nginx前端的ip地址(127.0.0.1),而无法获取到用户的真实ip地址,在这种情况下,后端Apache如何获取用户真实IP地址?

    (阿里云负载均衡)或者 lvs+Tengine(nginx)+lua防护攻击:线上正式使用,可以修改lua达到自己想要效果

    (阿里云负载均衡)或者 lvs+...记得修改以下获取真实ip function getClientIp() IP = ngx.var.http_x_forwarded_for or ngx.var.remote_addr or "0.0.0.0" if IP == nil then IP = "unknown" end return IP end

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

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

    运维-Nginx代理服务器-方向代理-负载均衡-数据缓存

    我们只需要将请求发送到反向代理服务器,由反向代理服务器去选择目标服务器获取数据后,在返回给客户端,此时反向代理服务器和目标服务器对外就是一个服务器,暴露的是代理服务器地址,隐藏了真实服务器IP地址。...

    F5XForwardedFor2008源码.zip

    iis 6 ,wwwlogs 无法获取 nginx 代理后的真实ip F5XForwardedFor.zip 源码 源站下载地址:http://downloads.loadbalancer.org/F5isapifilter/F5XForwardedFor.zip

    MRCMS内容管理系统-其他

    支持 Nginx 反向代理引擎,可以获取用户真实 IP 地址。 支持纯真 IP 数据库,记录地理位置信息,防范黑客攻击。 增加了栏目 URL 重定向功能 支持 markdown 语法,实现模型、插件帮助文档编写。 支持 Groovy 开发插件...

Global site tag (gtag.js) - Google Analytics