首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

部署在docker里的java程序获取真实的用户ip地址

目前我们的服务都是全部docker化,网关zuul和各微服务都部署在docker里,构成了集群。 用户请求全部到HaProxy,由HaProxy转发到zuul,再由zuul分发给各微服务。...那么我们在做黑名单,或者对ip进行限流时,需要获取用户的真实ip。...见代码: /** * 获取用户真实IP地址,不使用request.getRemoteAddr();的原因是有可能用户使用了代理软件方式避免真实IP地址, * * 可是...,如果通过了多级反向代理的话,X-Forwarded-For的值并不止一个,而是一串IP值,究竟哪个才是真正的用户端的真实IP呢?...在zuul里,获取ip地址。 ? 测试后,发现remoteAddr是HaProxy所在的docker容器的ip,下面的才是真正的用户ip。

6.9K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    在Android项目中使用Java8

    Android平台不支持Java8,如果我们想在Android项目中使用Lambda表达式、Stream API等Java8中的新特性就必须使用Retrolambda、Lightweight-Stream-API...Jack(Java Android Compiler Kit) 要想在Android项目中使用Java8的新特性,需要将你的Android Studio升级到2.1及以上版本,并采用新的Jack(Java...-> .dex)` 配置 为了在项目中使用Java8,我们还需要项目module中的gradle.build文件中加入如下代码: android { compileSdkVersion...进行上述配置后大家就可以在Android项目中尽情的探索使用Java8的新特性了。...等编译方案也会有影响,没做过验证,有了解的同学可以在评论区留言和大家交流下);总之要想在Android项目中愉快的使用Java8全部的新特性还需时日。

    1.1K60

    Java中InetAddress的使用(二):获取本机IP地址的正确姿势【享学Java】

    前言 本文接着上文的内容,主要解答上文留下的疑问:既然不能使用InetAddress#getLocalHost()直接去获取到本机的IP地址,那么如何破呢?...为何在Linux下请你一定不要使用它来获取本机IP,因为它就是简单的读取/etc/hosts的内容,所以它默认返回的是127.0.0.1非常的不靠谱,因此本方法十分不建议在生产上使用。...// 使用站点范围的广播地址,可以向站点范围内的计算机发送广播信息。...// 使用组织范围广播地址可以向公司或企业内部的所有的计算机发送广播信息。...public boolean isMCOrgLocal(); ---- 总结 关于InetAddress的所有内容就介绍到这,相信经过此两篇内容的讲解后,你对Java处理域名解析,以及获取本地IP地址时将不会再胆怯

    17.5K76

    博客使用CDN网站加速怎么获取访客的真实IP地址

    最近各大媒体都新增了一个功能,根据IP显示归属地,为了紧跟时代五一假期后一直在写获取IP后显示归属地的办法,但是有点眼高手低了,心里想的挺好操作起来就没有那么省事了,经过重重测试,找接口写代码,CV工程师不是白来的...,最终代码完成,但是有一个致命的缺陷,那就是加载缓慢,最终还是决定使用唐朝纯真IP插件,显示IP属地已经解决了,但是又双叒叕遇到一个棘手的问题,因为博客采用了腾讯CDN,所以获取的IP地址都是CDN带来的...,不是真是的IP地址,腾讯CDN官方已经告知,HTTP头部已经自动开启“X_FORWARDED_FOR”标头,但是可能我设置不对,并没有显示真实的IP地址。...为了解决这一办法,翻遍了百度能找到的都是WP,终于在墨初的博客上找到了答案,墨初还制作了插件,此文仅仅作为记录。...不清楚,把这段代码放上去就好了,主题会陆续修改这个问题,当然肯定是有开关的,如果开启了CDN想要真实的IP地址就开启吧,否则可以忽略了。

    7K10

    Java Web之MySQL在项目中的使用

    通过属性文件来配置MySQL 一、常见的连接数据的方式 编码方式,将数据库配置信息直接写入JAVA代码之中 Properties属性文件,将数据库配置信息写在属性文件中,然后在程序中读取该属性文件。...(2) 使用Class对象的getResourceAsStream()方法,把指定的属性文件读入到输入流中,并使用Properties类中的load()方法,从输入流中读取属性列表(键/值对); private...,使用Properties类中的getProperty()方法,通过key获取value值,从而实现数据库连接的操作。...所以,一定要想办法复用数据库的连接。使用连接池可以达到复用数据库连接的目的。...DataSource ds = (DataSource) context.lookup("java:comp/env/jdbc/MySQLDS"); // 获取数据库连接

    1K60

    protobuf在java, Android下的使用总结

    后面将会有简单的demo对于这两种格式的数据转化效率的对比。但这个库目前使用还不是太流行,据说谷歌内部很多产品都有使用。...缺点:消息结构可读性不高,序列化后的字节序列为二进制序列不能简单的分析有效性;目前使用不广泛,只支持java,C++和Python; 使用: 1.首先要在adroid stdio工程根路径下,就是和settings.gradle...:protobuf-gradle-plugin:0.8.2' 2.在app中的build.gradle添加两个protobuf依赖库:protobuf-java和protoc(如图:app模块中添加protobuf...在“proto”路径下创建.proto为后缀的文件再写上proto格式的代码。...点击“Sync”同步按钮,同步整个工程,protobuf的java代码就会自动生成了,不过生成的是在app/src/genarated文件夹下。使用时 直接import引用过来即可。

    1.8K10

    Storm和Zookeeper集群搭建及在java项目中的使用

    安装与配置 在上一篇中介绍了Zookeeper集群的安装方式,这里不再介绍,请查看:Kafka 单机和分布式环境搭建与案例使用 Storm安装与配置 1、选择合适的版本进行下载Storm 下载地址:http...Storm UI 进程为core,访问xuliugen129:8080(这里我的PC级访问的话,就不再是上述设置的hostname,应该是对应的内网IP,默认端口为8080) http://192.168.1.129...项目代码使用 CSDN代码地址:http://download.csdn.net/download/u010870518/9949050 百度云盘地址: 链接:http://pan.baidu.com...(2)将导出的jar上传到服务器上,nimbus主机即可,我这里上传到:/home/xuliugen/temp 目录下, (4)在2台supervisor主机上创建项目中需要的目录: /home/xuliugen...相关阅读: Apache Kafka:下一代分布式消息系统 Kafka简介、基本原理、执行流程与使用场景 Kafka 单机和分布式环境搭建与案例使用---- 版权声明 Java后端技术所推送文章,为本人原创

    61030

    如何使用CloakQuest3r获取受安全服务保护的网站真实IP地址

    关于CloakQuest3r CloakQuest3r是一款功能强大的纯Python工具,该工具可以帮助广大研究人员获取和查看受Cloudflare和其他安全服务商保护的网站真实IP地址。...Cloudflare是一种广泛采用的网络安全和性能增强服务,而CloakQuest3r的核心任务就是准确识别隐藏在Cloudflare防护下的网络服务器的真实IP地址。...在CloakQuest3r的帮助下,我们可以轻松评估网站安全性,扫描其中的潜在安全漏洞,并通过披露隐藏在Cloudflare安全防护下的IP地址来提升网络资产的安全性。...此时,所有成功识别的真实IP地址都会打印出来,以供研究人员执行进一步的安全分析和渗透测试。...SecurityTrails API使用 我们还可以使用SecurityTrails API获取历史IP记录信息,此时需要在config.ini配置文件中配置一个API密钥: [DEFAULT] securitytrails_api_key

    22910

    监听者模式 - 在Java与Android中的使用

    在某些数据变化时,其他的类做出一些响应。处理数据(或者分发事件)的类主动投送消息,感兴趣的类主动“订阅”消息。 监听者模式在Android中有大量的运用,相信大家都不会感到陌生。...在Android开发中,Button控件的点击事件就是监听者模式最常见的例子。 当Button被点击,执行了 OnClickListener.onClick。...,能够很方便地调用AlgoCalculator的计算能力并获取计算结果。...很多场景中都使用了监听者模式。开发者也可能在不知不觉中就运用了这个模式。 Android中使用监听器 最常见的例子是给Button设置点击事件监听器。 类似上个例子,设计一个接口当做监听器。...Android中回调时可以利用handler,控制调用的线程。

    1.8K60

    你知道 java 获取本地 ip 地址有两种方法吗?讲讲隐藏在他们背后的哪些坑

    引言 本周进行了一个关于通过 java 代码获取本机 ip 地址的线上性能优化,这篇文章做一个总结,也提供一些 java 线上优化排查思路和更进一步的思考与总结。 2....2.3 现象分析 由于本地 ip 属于静态信息,不应该通过 filter 机制在每次调用中临时获取,而是应该在项目启动时获取一次,然后存储在全局的固定位置中,例如单例的类实例或是 System.property...解决方案 除了由于 /etc/hosts 文件与 DNS 中都没有本机 hostname 的对应配置造成获取本机 ip 地址失败同时性能受到影响外,按照这样的获取机制,一旦 hosts 文件中配置的本机...,与 ifconfig 底层实现相同,可以获取到真实的 ip 地址。...不要使用 InetAddress.getLocalHost() 的方式获取本机 IP,而要使用 NetworkInterface 来获取,InetAddress.getLocalHost() 有以下问题

    3.7K30
    领券