[发明专利]实现Http反向代理的方法、装置、电子设备和可读介质有效
申请号: | 201710542097.2 | 申请日: | 2017-07-05 |
公开(公告)号: | CN109218368B | 公开(公告)日: | 2021-09-07 |
发明(设计)人: | 吴晓春 | 申请(专利权)人: | 北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司 |
主分类号: | H04L29/08 | 分类号: | H04L29/08 |
代理公司: | 中原信达知识产权代理有限责任公司 11219 | 代理人: | 张一军;杨晓伟 |
地址: | 100195 北京市海淀区杏石口路6*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 实现 http 反向 代理 方法 装置 电子设备 可读 介质 | ||
本发明提供一种实现Http反向代理的方法、装置、电子设备和可读介质,能够通过Java实现Http反向代理,并可以根据部分业务需要在反向代理之前自定义实现例如用户登录等个性化操作,还可以根据用户权限将用户动态代理到指定地址。该方法包括:接收Web用户的Http请求;在验证Web用户的Http请求符合预设验证规则之后,查询Web用户对应的预设反向代理地址;根据预设反向代理地址将Web用户的Http请求反向代理至目标服务器。
技术领域
本发明涉及计算机技术领域,尤其涉及一种实现Http反向代理的方法、装置、电子设备和可读介质。
背景技术
当一个代理服务器能够代理外部网络上的主机,访问内部网络时,这种代理服务的方式称为反向代理服务。此时代理服务器对外就表现为一个Web服务器,外部网络就可以简单把它当作一个标准的Web服务器而不需要特定的配置。不同之处在于,这个服务器没有保存任何网页的真实数据,所有的静态网页或者CGI程序,都保存在内部的Web服务器上。因此对反向代理服务器的攻击并不会使得网页信息遭到破坏,这样就增强了Web服务器的安全性。
现有技术中可以实现反向代理的软件有很多,比较主流的nginx、apache都是通用的高性能Http反向代理服务,可以通过系统配置文件方式实现高性能Http反向代理。目前反向代理Web服务器已经使用的非常广泛。
在实现本发明过程中,发明人发现现有技术中至少存在如下问题:
现有技术的反向代理功能对一些特殊场景使用支持不够:无法根据部分业务需要在反向代理之前自定义实现个性化操作,例如对反向代理地址访问权限的控制、或者根据用户需求增加额外代理参数的设计;也无法实现根据不同用户的权限动态调整反向代理地址。
发明内容
有鉴于此,本发明实施例提供一种实现Http反向代理的方法、装置、电子设备和可读介质,能够通过Java实现Http反向代理,并可以根据部分业务需要在反向代理之前自定义实现例如用户登录等个性化操作,还可以根据用户权限将用户动态代理到指定地址。
为实现上述目的,根据本发明实施例的一个方面,提供了一种实现Http反向代理的方法。
本发明实施例的一种实现Http反向代理的方法包括:接收Web用户的Http请求;在验证Web用户的Http请求符合预设验证规则之后,查询Web用户对应的预设反向代理地址;根据预设反向代理地址将Web用户的Http请求反向代理至目标服务器。
可选地,Http请求为基于Presto查询引擎的请求和/或基于Hadoop的请求。
可选地,验证Web用户的Http请求符合预设验证规则包括:验证Web用户的访问权限符合预设权限规则;和/或根据业务需求验证Web用户的代理参数符合预设代理参数规则。
可选地,预设反向代理地址是指根据不同Web用户的权限为Web用户预先配置的、可动态调整的反向代理地址。
可选地,根据预设反向代理地址将Web用户的Http请求反向代理至目标服务器包括:创建servletRequest对象,在servletRequest对象中封装接收到的Http请求;解析servletRequest对象,获取Http请求的方式、参数;创建DefaultHttpClient对象实例,按照Http请求的方式、参数、头信息和对应的预设反向代理地址URL信息生成HttpRequest对象并发送至目标服务器;接收目标服务器返回的HttpResponse对象;解析HttpResponse对象,将从HttpResponse对象中获取的Http请求的响应结果和头信息赋值给servletResponse对象,以生成响应数据;把servletResponse对象中的响应数据回传给Web用户。
为实现上述目的,根据本发明实施例的另一方面,提供了一种实现Http反向代理的装置。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司,未经北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710542097.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种信息推送方法及装置、电子设备
- 下一篇:远程过程调用请求控制方法及装置