- 5
- 0
- 约4.92千字
- 约 4页
- 2017-06-13 发布于北京
- 举报
Java获取IP地址:request.getRemoteAddr()警惕
项目中需要和第三方平台接口,加了来源IP鉴权功能,测试时发现没有问题,但是部署以后发现存在问题,一直鉴权不通过,一群人抓瞎。
我找到那块的代码,跟了一遍流程发现逻辑没有啥问题,但是最终的结果却还是鉴权不通过,实在有些诡异。其基本逻辑为先取得配置的IP列表,然后通过request.getRemoteAddr()取得客户端的IP地址,做鉴权和校验,逻辑没问题,那么肯定是request.getRemoteAddr()出了问题,google下,发现有人遇到类似的问题。
最终定位为request.getRemoteAddr()这种方法在大部分情况下都是有效的。但是在通过了Apache,Squid等反向代理软件就不能获取到客户端的真实IP地址了。
如果使用了反向代理软件,将10:2046/?的URL反向代理为/ 的URL时,用request.getRemoteAddr()方法获取的IP地址是: 或 10,而并不是客户端的真实IP。
经过代理以后,由于在客户端和服务之间增加了中间层,因此服务器无法直接拿到客户端的IP,服务器端应用也无法直接通过转发请求的地址返回给客户端。但是在转发请求的HTTP头信息中,增加了X-FORWARDED-FOR信息用以跟踪原有的客户端IP地址和原来客户端请求的服务器地址。
原来如此,我们的项目
您可能关注的文档
最近下载
- 近代战争与西方文化的扩张示范教案.pdf VIP
- 2025中国企业数智化转型案例研究报告.pdf VIP
- TCECA-G 0161-2022 城市轨道交通节能技术规范.docx VIP
- 英语同等学力人员申请硕士学位试题及解答参考.docx VIP
- 海船结构计算1.xls VIP
- 我爱你中国合唱简谱.docx VIP
- 军队文职技能岗位理论考试真题(附答案).docx VIP
- 2025江西宜春丰城市机关事业单位选调工作人员48人考试备考试题及答案解析.docx VIP
- 2025安徽合肥百大集团所属子公司招聘14人笔试备考试题及答案解析.docx VIP
- 2022合肥百大集团公开招聘试题及答案解析.docx VIP
原创力文档

文档评论(0)