The invention provides a method, device, electronic equipment and readable medium for realizing Http reverse proxy. It can realize Http reverse proxy through Java, customize personalized operation such as user login before reverse proxy according to some business needs, and dynamically proxy users to specified addresses according to user privileges. The method includes: receiving the Http requests of Web users; querying the corresponding preset reverse proxy address of Web users after verifying that the Http requests of Web users conform to the preset verification rules; and reverse proxying Web users'Http requests to the target server according to the preset reverse proxy address.
【技术实现步骤摘要】
实现Http反向代理的方法、装置、电子设备和可读介质
本专利技术涉及计算机
,尤其涉及一种实现Http反向代理的方法、装置、电子设备和可读介质。
技术介绍
当一个代理服务器能够代理外部网络上的主机,访问内部网络时,这种代理服务的方式称为反向代理服务。此时代理服务器对外就表现为一个Web服务器,外部网络就可以简单把它当作一个标准的Web服务器而不需要特定的配置。不同之处在于,这个服务器没有保存任何网页的真实数据,所有的静态网页或者CGI程序,都保存在内部的Web服务器上。因此对反向代理服务器的攻击并不会使得网页信息遭到破坏,这样就增强了Web服务器的安全性。现有技术中可以实现反向代理的软件有很多,比较主流的nginx、apache都是通用的高性能Http反向代理服务,可以通过系统配置文件方式实现高性能Http反向代理。目前反向代理Web服务器已经使用的非常广泛。在实现本专利技术过程中,专利技术人发现现有技术中至少存在如下问题:现有技术的反向代理功能对一些特殊场景使用支持不够:无法根据部分业务需要在反向代理之前自定义实现个性化操作,例如对反向代理地址访问权限的控制、或者根据用户需求增加额外代理参数的设计;也无法实现根据不同用户的权限动态调整反向代理地址。
技术实现思路
有鉴于此,本专利技术实施例提供一种实现Http反向代理的方法、装置、电子设备和可读介质,能够通过Java实现Http反向代理,并可以根据部分业务需要在反向代理之前自定义实现例如用户登录等个性化操作,还可以根据用户权限将用户动态代理到指定地址。为实现上述目的,根据本专利技术实施例的一个方面,提供 ...
【技术保护点】
1.一种实现Http反向代理的方法,其特征在于,包括:接收Web用户的Http请求;在验证所述Web用户的Http请求符合预设验证规则之后,查询所述Web用户对应的预设反向代理地址;根据所述预设反向代理地址将所述Web用户的Http请求反向代理至目标服务器。
【技术特征摘要】
1.一种实现Http反向代理的方法,其特征在于,包括:接收Web用户的Http请求;在验证所述Web用户的Http请求符合预设验证规则之后,查询所述Web用户对应的预设反向代理地址;根据所述预设反向代理地址将所述Web用户的Http请求反向代理至目标服务器。2.根据权利要求1所述的方法,其特征在于,所述Http请求为基于Presto查询引擎的请求和/或基于Hadoop的请求。3.根据权利要求1所述的方法,其特征在于,验证所述Web用户的Http请求符合预设验证规则包括:验证所述Web用户的访问权限符合预设权限规则;和/或根据业务需求验证所述Web用户的代理参数符合预设代理参数规则。4.根据权利要求1所述的方法,其特征在于,所述预设反向代理地址是指根据不同Web用户的权限为Web用户预先配置的、可动态调整的反向代理地址。5.根据权利要求1所述的方法,其特征在于,根据所述预设反向代理地址将所述Web用户的Http请求反向代理至目标服务器包括:创建servletRequest对象,在所述servletRequest对象中封装接收到的Http请求;解析servletRequest对象,获取所述Http请求的方式、参数;创建DefaultHttpClient对象实例,按照所述Http请求的方式、参数、头信息和对应的预设反向代理地址URL信息生成HttpRequest对象并发送至目标服务器;接收所述目标服务器返回的HttpResponse对象;解析所述HttpResponse对象,将从所述HttpResponse对象中获取的Http请求的响应结果和头信息赋值给servletResponse对象,以生成响应数据;把servletResponse对象中的响应数据回传给Web用户。6.一种实现Http反向代理的装置,其特征在于,包括:接收模块,用于接收Web用户的Http请求;验证模块,用于在验证所述Web用户的Ht...
【专利技术属性】
技术研发人员:吴晓春,
申请(专利权)人:北京京东尚科信息技术有限公司,北京京东世纪贸易有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。