CN114285659A - 一种反向代理方法、装置、设备及存储介质 - Google Patents
一种反向代理方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN114285659A CN114285659A CN202111624228.4A CN202111624228A CN114285659A CN 114285659 A CN114285659 A CN 114285659A CN 202111624228 A CN202111624228 A CN 202111624228A CN 114285659 A CN114285659 A CN 114285659A
- Authority
- CN
- China
- Prior art keywords
- target
- reverse proxy
- module
- http request
- request
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 55
- 238000012546 transfer Methods 0.000 claims abstract description 14
- 238000004590 computer program Methods 0.000 claims description 5
- 238000012423 maintenance Methods 0.000 abstract description 9
- 230000006870 function Effects 0.000 description 25
- 238000010586 diagram Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000035515 penetration Effects 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本申请实施例公开了一种反向代理方法、装置、设备及存储介质,该方法包括:通过拦截模块捕获用户在目标应用程序中对目标网址的访问操作生成的目标超文本传输协议HTTP请求,并将所述目标HTTP请求转发给反向代理模块;通过所述反向代理模块查询所述目标HTTP请求对应的预设反向代理地址,并将所述目标HTTP请求转发给所述预设反向代理地址对应的被代理服务器;通过所述反向代理模块接收所述被代理服务器根据所述目标HTTP请求反馈的目标报文数据,用于在所述目标应用程序中展示所述目标网址对应的目标页面;通过上述技术方案,提供了一种反向代理的新方案,减少了部署和运维成本。
Description
技术领域
本申请实施例涉及计算机技术领域,尤其涉及一种反向代理方法、装置、设备及存储介质。
背景技术
反向代理是指用户不需要知道目标服务器的地址,也不需要在用户终端做任何设定,就可以直接通过访问反向代理服务器来获得目标服务器的资源。在反向代理过程中,反向代理服务器其实并没有保存任何网页的真实资源,因此对反向代理服务器的攻击并不会使网页资源遭到破坏,能够防止外网对内网服务器的恶性攻击,增加安全性和灵活性。
现有技术中,主流的反向代理服务器如Nginx和Apache等,均部署于目标应用程序外部,在部署过程中,需要分别为反向代理服务器和目标应用程序搭建对应的运行环境,分配对应的计算机端口。然而,上述部署方式对小型应用程序而言太过繁琐,运维成本较高。
因此,针对现有技术中存在的问题,亟待进行改善。
发明内容
本申请提供一种反向代理方法、装置、设备及存储介质,以提供一种反向代理的新方案,减少部署和运维成本。
第一方面,本申请实施例提供了一种反向代理方法,该方法包括:
通过拦截模块捕获用户在目标应用程序中对目标网址的访问操作生成的目标超文本传输协议HTTP请求,并将所述目标HTTP请求转发给反向代理模块;
通过所述反向代理模块查询所述目标HTTP请求对应的预设反向代理地址,并将所述目标HTTP请求转发给所述预设反向代理地址对应的被代理服务器;
通过所述反向代理模块接收所述被代理服务器根据所述目标HTTP请求反馈的目标报文数据,用于在所述目标应用程序中展示所述目标网址对应的目标页面。
第二方面,本申请实施例还提供了一种反向代理装置,该装置包括:
请求捕获模块,用于通过拦截模块捕获用户在目标应用程序中对目标网址的访问操作生成的目标超文本传输协议HTTP请求,并将所述目标HTTP请求转发给反向代理模块;
请求查询模块,用于通过所述反向代理模块查询所述目标HTTP请求对应的预设反向代理地址,并将所述目标HTTP请求转发给所述预设反向代理地址对应的被代理服务器;
报文接收模块,用于通过所述反向代理模块接收所述被代理服务器根据所述目标HTTP请求反馈的目标报文数据,用于在所述目标应用程序中展示所述目标网址对应的目标页面。
第三方面,本申请实施例还提供了一种电子设备,所述设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面实施例所提供的任意一种反向代理方法。
第四方面,本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面实施例所提供的任意一种反向代理方法。
本申请实施例通过拦截模块捕获用户在目标应用程序中对目标网址的访问操作生成的目标超文本传输协议HTTP请求,并将所述目标HTTP请求转发给反向代理模块;通过所述反向代理模块查询所述目标HTTP请求对应的预设反向代理地址,并将所述目标HTTP请求转发给所述预设反向代理地址对应的被代理服务器;通过所述反向代理模块接收所述被代理服务器根据所述目标HTTP请求反馈的目标报文数据,用于在所述目标应用程序中展示所述目标网址对应的目标页面。通过上述技术方案,由目标应用程序所属的后台应用服务器执行反向代理方法,可以在现有的应用程序内部集成反向代理功能,而不需要单独部署反向代理服务器,直接使用现有的应用环境和端口,提供了一种反向代理的新方案,减少了部署和运维成本。
附图说明
图1是本申请提供的一种反向代理***的示意图;
图2是本申请实施例一提供的一种反向代理方法的流程图;
图3是本申请实施例二提供的一种反向代理方法的流程图;
图4是本申请实施例三提供的一种反向代理装置的示意图;
图5是本申请实施例四提供的一种电子设备的示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本申请,而非对本申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本申请相关的部分而非全部结构。
在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各步骤描述成顺序的处理,但是其中的许多步骤可以被并行地、并发地或者同时实施。此外,各步骤的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
为了能够清楚的说明本申请各实施例中的技术方案,首先对本申请实施例所涉及的板卡测试***进行详细说明。
参见图1所示的一种反向代理***的示意图,该***包括:目标应用程序10、拦截模块20、反向代理模块30和被代理服务器40;
其中,所述拦截模块20用于捕获用户在目标应用程序10中对目标网址的访问操作生成的目标超文本传输协议HTTP请求,并将所述目标HTTP请求转发给反向代理模块30;
所述反向代理模块30用于查询所述目标HTTP请求对应的预设反向代理地址,并将所述目标HTTP请求转发给所述预设反向代理地址对应的被代理服务器40;以及,接收所述被代理服务器40根据所述目标HTTP请求反馈的目标报文数据,用于在所述目标应用程序10中展示所述目标网址对应的目标页面。
其中,拦截模块20和反向代理模块30内置于后台应用服务器中,后台应用服务器为目标应用程序的后台服务器。
实施例一
图2为本申请实施例一提供的一种反向代理方法的流程图。本申请实施例可适用于在应用程序内集成反向代理获取请求资源的情况。该方法可以由一种反向代理装置来执行,该装置可以由软件和/或硬件的方式实现,并具体配置于电子设备中,该电子设备可以是移动终端或固定终端。
参见图2,本申请实施例提供的反向代理方法,包括:
S110、通过拦截模块捕获用户在目标应用程序中对目标网址的访问操作生成的目标超文本传输协议HTTP请求,并将目标HTTP请求转发给反向代理模块。
其中,目标应用程序可以是基于B/S架构开发的应用程序,或者,目标应用程序也可以是基于C/S架构开发的应用程序,具体的目标应用程序架构可以根据实际需求和使用情况进行确定。
在本发明实施例中,本申请提供的反向代理方法可以由目标应用程序所属的后台应用服务器执行。在目标应用程序有访问需求时,可以基于后台应用服务器中内置的拦截模块,对目标应用程序生成的目标HTTP(Hyper Text Transfer Protocol,超文本传输协议)请求进行拦截。
本实施例中,后台应用服务器中还内置有反向代理模块,反向代理模块用于实现反向代理功能,当然,还可以在反向代理模块实现更加复杂的功能如设置缓存和负载均衡等功能。可以理解的是,在获取目标HTTP请求资源时,背后可能有成千上万台服务器可以提供服务,但具体由哪一台服务器提供服务不清楚,通过把目标HTTP请求转发给反向代理模块,可以由反向代理模块把目标HTTP请求转发到提供真实计算的服务器中去。
优选地,所述目标应用程序为网页Web应用程序,所述反向代理模块和所述Web应用程序运行在服务连接器Servlet容器中。
可以理解的是,Web应用程序框架具有良好的跨防火墙通信功能,能够解决传统客户端和服务器大量用户通信难度问题。
S120、通过反向代理模块查询目标HTTP请求对应的预设反向代理地址,并将目标HTTP请求转发给预设反向代理地址对应的被代理服务器。
其中,预设反向代理地址可以根据目标HTTP请求进行动态调整和确定。例如,预设反向代理地址可以根据不同用户的权限进行预先配置,而不同用户的权限可以根据目标HTTP请求中携带的用户信息如用户账号等信息进行确定。
本实施例中,在确定出目标HTTP请求对应的预设反向代理地址之后,可以将目标HTTP请求转发给预设反向代理地址对应的被代理服务器,其中,被代理服务器存储有网页的真实资源。可选地,所述被代理服务器的数量为至少两个。可以理解的是,在存在至少两个被代理服务器的情况下,可以由反向代理模块根据业务需求选择合适的被代理服务器。
本实施例中,通过在现有的目标应用程序内部集成反向代理功能,可以直接使用现有的应用环境和端口,减少部署和运维成本。
S130、通过反向代理模块接收被代理服务器根据目标HTTP请求反馈的目标报文数据,用于在目标应用程序中展示目标网址对应的目标页面。
在一个可选实施例中,目标应用程序为Web应用程序,可以基于预设Servlet接口调用所述反向代理模块;其中,所述预设Servlet接口作为所述Servlet容器与所述反向代理模块的中间层,可以用于接收所述反向代理模块发送的所述目标报文数据,并通过所述Servlet容器向所述目标应用程序传递所述目标报文数据,以实现数据传输。
可以理解的是,为了不修改原有应用程序中的代码,在现有的目标应用程序内部集成反向代理功能的过程中,可以基于Servlet规范创建调用反向代理模块,使得反向代理模块可以在Servlet容器内与外界交互,如实现与目标应用程序的数据传输。
本申请实施例通过拦截模块捕获用户在目标应用程序中对目标网址的访问操作生成的目标超文本传输协议HTTP请求,并将所述目标HTTP请求转发给反向代理模块;通过所述反向代理模块查询所述目标HTTP请求对应的预设反向代理地址,并将所述目标HTTP请求转发给所述预设反向代理地址对应的被代理服务器;通过所述反向代理模块接收所述被代理服务器根据所述目标HTTP请求反馈的目标报文数据,用于在所述目标应用程序中展示所述目标网址对应的目标页面。通过上述技术方案,由目标应用程序所属的后台应用服务器执行反向代理方法,可以在现有的应用程序内部集成反向代理功能,而不需要单独部署反向代理服务器,直接使用现有的应用环境和端口,提供了一种反向代理的新方案,减少了部署和运维成本。
实施例二
图3为本申请实施例二提供的一种反向代理方法的流程图,本实施例是在上述实施例的基础上,对上述方案的优化。
进一步地,将操作“通过拦截模块将所述目标HTTP请求转发给所述反向代理模块”,细化为“通过分发模块根据所述目标HTTP请求中的访问路径字段,确定是否存在反向代理需求,并根据确定结果,控制将所述目标HTTP请求转发给所述反向代理模块”,以完善目标HTTP请求的转发过程。
其中与上述实施例相同或相应的术语的解释在此不再赘述。
参见图3,本实施例提供的反向代理方法,包括:
S210、通过拦截模块捕获用户在目标应用程序中对目标网址的访问操作生成的目标超文本传输协议HTTP请求。
S220、通过分发模块根据目标HTTP请求中的访问路径字段,确定是否存在反向代理需求。
本实施例中,后台应用服务器中还内置有分发模块,通过分发模块对目标HTTP请求进行识别,可以将反向代理功能和原有业务功能区分开。本实施例中,原有业务功能所属的业务模块并不通过反向代理实现,业务模块可以理解为目标应用程序未集成反向代理功能前所有业务的总称。
可以理解的是,在目标应用程序中,存在有反向代理需求的业务和没有反向代理需求的业务,其中,有反向代理需求的业务对安全性要求较高,而没有反向代理需求的业务则对安全性要求较低,而考虑到反向代理需要一定的管理成本,因此,为了减少反向代理管理成本,可以根据实际需求和使用情况对目标应用程序中的业务进行合理分配选择使用反向代理。
可选地,所述通过分发模块根据所述目标HTTP请求中的访问路径字段,确定是否存在反向代理需求,包括:通过所述分发模块将所述目标HTTP请求中的访问路径字段与预设路径配置文件中的各候选访问路径进行匹配,并根据匹配结果所属的请求发送模块,确定是否存在反向代理需求。
具体地,可以对目标HTTP请求进行解析,获取得到目标网址,并对目标网址进行分割,得到访问路径字段。
其中,预设路径配置文件可以由运维人员根据业务需求进行预先配置,预设路径配置文件可以为纯文本文件。请求发送模块可以为反向代理模块(Proxy-module)和业务模块(Business-module)。
例如,预设路径配置文件可以包括如下内容:Business-module:url1,url2;Proxy-module:url3,url4,url5,其中,url1,url2,url3,url4,url5就属于候选访问路径。
本实施例中,在匹配过程中,所采用的匹配算法可以利用现有技术中支持字符串匹配的任意技术实现。在一个可选实施例中,可以采用字符串模糊匹配算法,将访问路径字段与预设路径配置文件中的各候选访问路径进行匹配,以提高匹配效率。
在一个可选实施例中,假设有一个员工管理***,包括员工管理客户端和员工管理后台应用服务器。其中,员工管理客户端也即目标应用程序,员工管理客户端负责员工信息的增删改查业务。后续根据业务需求,可以在员工管理客户端增加给员工发短信的功能,而这个功能在短信服务器里面,此时就可以在员工管理***的员工管理后台服务里增加反向代理,让员工管理客户端通过员工管理后台应用服务器间接访问短信服务器实现发短信的功能。其中,增删改查业务所在的模块也即业务模块。
S230、通过分发模块根据确定结果,控制将目标HTTP请求转发给反向代理模块。
可选地,所述根据匹配结果所属的请求发送模块,确定是否存在反向代理需求,包括:若匹配结果所属的请求发送模块为所述反向代理模块,则确定存在反向代理需求;相应的,所述根据确定结果,控制将所述目标HTTP请求转发给所述反向代理模块,包括:若所述确定结果为存在反向代理需求,则将所述目标HTTP请求转发给所述反向代理模块。
可以理解的是,若根据目标HTTP请求确定存在反向代理需求,则可以通过分发模块,控制拦截模块将目标HTTP请求转发给反向代理模块。
在一个可选实施例中,分发模块还可以获取拦截模块捕获的目标HTTP请求,在分发模块确定存在反向代理需求之时,可以通过分发模块自身将目标HTTP请求转发给反向代理模块。
可选地,若匹配结果所属的请求发送模块为业务模块,则确定不存在反向代理需求;相应的,所述根据确定结果,控制将所述目标HTTP请求转发给所述反向代理模块,包括:若所述确定结果为不存在反向代理需求,则将所述目标HTTP请求转发给所述业务模块,并通过所述业务模块将所述目标HTTP请求发送给内部指定的业务服务器。其中,业务服务器用于为目标应用程序提供基本的计算服务,可选地,业务服务器可以由多台服务器组成。
可以理解的是,通过分发模块对目标HTTP请求进行识别,并根据反向代理需求确定结果,实现了对原有业务功能和反向代理功能的区分,使得反向代理可以比较好地与现有业务结合,实现与现有业务共存。
S240、通过反向代理模块查询目标HTTP请求对应的预设反向代理地址,并将目标HTTP请求转发给预设反向代理地址对应的被代理服务器。
S250、通过反向代理模块接收被代理服务器根据目标HTTP请求反馈的目标报文数据,用于在目标应用程序中展示目标网址对应的目标页面。
本申请实施例在上述实施例的基础上,对目标HTTP请求的转发过程进行了完善,通过分发模块根据所述目标HTTP请求中的访问路径字段,确定是否存在反向代理需求;根据确定结果,控制将所述目标HTTP请求转发给所述反向代理模块;通过上述技术方案,通过分发模块对目标HTTP请求进行识别,并根据反向代理需求确定结果,实现了对原有业务功能和反向代理功能的区分,使得反向代理模块可以与现有业务模块共存,复用现有目标应用程序的端口和语言环境,节省运维成本。
实施例三
图4是本申请实施例三提供的一种反向代理装置的结构示意图。参见图4,本申请实施例提供的一种反向代理装置,该装置应用于仿真***,其中所述仿真***中部署有虚拟车辆、虚拟空中下载OTA服务器和渗透攻击平台;所述虚拟车辆中设置有虚拟主机、虚拟网关和虚拟电子控制单元,包括:请求捕获模块310、请求查询模块320和报文接收模块330。
请求捕获模块310,用于通过拦截模块捕获用户在目标应用程序中对目标网址的访问操作生成的目标超文本传输协议HTTP请求,并将所述目标HTTP请求转发给反向代理模块;
请求查询模块320,用于通过所述反向代理模块查询所述目标HTTP请求对应的预设反向代理地址,并将所述目标HTTP请求转发给所述预设反向代理地址对应的被代理服务器;
报文接收模块330,用于通过所述反向代理模块接收所述被代理服务器根据所述目标HTTP请求反馈的目标报文数据,用于在所述目标应用程序中展示所述目标网址对应的目标页面。
本申请实施例通过拦截模块捕获用户在目标应用程序中对目标网址的访问操作生成的目标超文本传输协议HTTP请求,并将所述目标HTTP请求转发给反向代理模块;通过所述反向代理模块查询所述目标HTTP请求对应的预设反向代理地址,并将所述目标HTTP请求转发给所述预设反向代理地址对应的被代理服务器;通过所述反向代理模块接收所述被代理服务器根据所述目标HTTP请求反馈的目标报文数据,用于在所述目标应用程序中展示所述目标网址对应的目标页面。通过上述技术方案,由目标应用程序所属的后台应用服务器执行反向代理方法,可以在现有的应用程序内部集成反向代理功能,而不需要单独部署反向代理服务器,直接使用现有的应用环境和端口,提供了一种反向代理的新方案,减少了部署和运维成本。
进一步地,所述请求捕获模块310,包括:
控制子模块,用于通过分发模块根据所述目标HTTP请求中的访问路径字段,确定是否存在反向代理需求,并根据确定结果,控制将所述目标HTTP请求转发给所述反向代理模块。
进一步地,所述判断子模块,包括:
匹配单元,用于通过所述分发模块将所述目标HTTP请求中的访问路径字段与预设路径配置文件中的各候选访问路径进行匹配,并根据匹配结果所属的请求发送模块,确定是否存在反向代理需求。
进一步地,所述匹配单元,包括:
代理发送方确定子单元,用于若匹配结果所属的请求发送模块为所述反向代理模块,则确定存在反向代理需求;
相应的,所述控制子模块,包括:
第一转发单元,用于若所述确定结果为存在反向代理需求,则将所述目标HTTP请求转发给所述反向代理模块。
进一步地,所述装置还包括:
业务发送方确定子单元,用于若匹配结果所属的请求发送模块为业务模块,则确定不存在反向代理需求;
相应的,所述控制子模块,包括:
第二转发单元,用于若所述确定结果为不存在反向代理需求,则将所述目标HTTP请求转发给所述业务模块,并通过所述业务模块将所述目标HTTP请求发送给内部指定的业务服务器。
进一步地,所述被代理服务器的数量为至少两个。
进一步地,所述目标应用程序为网页Web应用程序,所述反向代理模块和所述Web应用程序运行在服务连接器Servlet容器中。
进一步地,所述装置还包括:
接口调用模块,用于基于预设Servlet接口调用所述反向代理模块;其中,所述预设Servlet接口作为所述Servlet容器与所述反向代理模块的中间层,用于接收所述反向代理模块发送的所述目标报文数据,并通过所述Servlet容器向所述目标应用程序传递所述目标报文数据。
本申请实施例所提供的反向代理装置可执行本申请任意实施例所提供的反向代理方法,具备执行方法相应的功能模块和有益效果。
实施例四
图5是本申请实施例四提供的一种电子设备的结构图。图5示出了适于用来实现本申请实施方式的示例性电子设备412的框图。图5显示的电子设备412仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图5所示,电子设备412以通用计算设备的形式表现。电子设备412的组件可以包括但不限于:一个或者多个处理器或者处理单元416,***存储器428,连接不同***组件(包括***存储器428和处理单元416)的总线418。
总线418表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,***总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MCA)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及***组件互连(PCI)总线。
电子设备412典型地包括多种计算机***可读介质。这些介质可以是任何能够被电子设备412访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
***存储器428可以包括易失性存储器形式的计算机***可读介质,例如随机存取存储器(RAM)430和/或高速缓存存储器432。电子设备412可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机***存储介质。仅作为举例,存储***434可以用于读写不可移动的、非易失性磁介质(图5未显示,通常称为“硬盘驱动器”)。尽管图5中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线418相连。***存储器428可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本申请各实施例的功能。
具有一组(至少一个)程序模块442的程序/实用工具440,可以存储在例如***存储器428中,这样的程序模块442包括——但不限于——操作***、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块442通常执行本申请所描述的实施例中的功能和/或方法。
电子设备412也可以与一个或多个外部设备414(例如键盘、指向设备、显示器424等)通信,还可与一个或者多个使得用户能与该电子设备412交互的设备通信,和/或与使得该电子设备412能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口422进行。并且,电子设备412还可以通过网络适配器420与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器420通过总线418与电子设备412的其它模块通信。应当明白,尽管图5中未示出,可以结合电子设备412使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID***、磁带驱动器以及数据备份存储***等。
处理单元416通过运行存储在***存储器428中的多个程序中其他程序的至少一个,从而执行各种功能应用以及数据处理,例如实现本申请实施例所提供的任意一种反向代理方法。
实施例五
本申请实施例五还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本申请任一实施例所提供的一种反向代理方法,该方法包括:通过拦截模块捕获用户在目标应用程序中对目标网址的访问操作生成的目标超文本传输协议HTTP请求,并将所述目标HTTP请求转发给反向代理模块;通过所述反向代理模块查询所述目标HTTP请求对应的预设反向代理地址,并将所述目标HTTP请求转发给所述预设反向代理地址对应的被代理服务器;通过所述反向代理模块接收所述被代理服务器根据所述目标HTTP请求反馈的目标报文数据,用于在所述目标应用程序中展示所述目标网址对应的目标页面。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本申请可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
值得注意的是,上述反向代理装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。
注意,上述仅为本申请的较佳实施例及所运用技术原理。本领域技术人员会理解,本申请不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本申请的保护范围。因此,虽然通过以上实施例对本申请进行了较为详细的说明,但是本申请不仅仅限于以上实施例,在不脱离本申请构思的情况下,还可以包括更多其他等效实施例,而本申请的范围由所附的权利要求范围决定。
Claims (10)
1.一种反向代理方法,其特征在于,包括:
通过拦截模块捕获用户在目标应用程序中对目标网址的访问操作生成的目标超文本传输协议HTTP请求,并将所述目标HTTP请求转发给反向代理模块;
通过所述反向代理模块查询所述目标HTTP请求对应的预设反向代理地址,并将所述目标HTTP请求转发给所述预设反向代理地址对应的被代理服务器;
通过所述反向代理模块接收所述被代理服务器根据所述目标HTTP请求反馈的目标报文数据,用于在所述目标应用程序中展示所述目标网址对应的目标页面。
2.根据权利要求1所述的方法,其特征在于,所述通过拦截模块将所述目标HTTP请求转发给所述反向代理模块,包括:
通过分发模块根据所述目标HTTP请求中的访问路径字段,确定是否存在反向代理需求,并根据确定结果,控制将所述目标HTTP请求转发给所述反向代理模块。
3.根据权利要求2所述的方法,其特征在于,所述通过分发模块根据所述目标HTTP请求中的访问路径字段,确定是否存在反向代理需求,包括:
通过所述分发模块将所述目标HTTP请求中的访问路径字段与预设路径配置文件中的各候选访问路径进行匹配,并根据匹配结果所属的请求发送模块,确定是否存在反向代理需求。
4.根据权利要求3所述的方法,其特征在于,所述根据匹配结果所属的请求发送模块,确定是否存在反向代理需求,包括:
若匹配结果所属的请求发送模块为所述反向代理模块,则确定存在反向代理需求;
相应的,所述根据确定结果,控制将所述目标HTTP请求转发给所述反向代理模块,包括:
若所述确定结果为存在反向代理需求,则将所述目标HTTP请求转发给所述反向代理模块。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
若匹配结果所属的请求发送模块为业务模块,则确定不存在反向代理需求;
相应的,所述根据确定结果,控制将所述目标HTTP请求转发给所述反向代理模块,包括:
若所述确定结果为不存在反向代理需求,则将所述目标HTTP请求转发给所述业务模块,并通过所述业务模块将所述目标HTTP请求发送给内部指定的业务服务器。
6.根据权利要求1-5任一所述的方法,其特征在于,所述目标应用程序为网页Web应用程序,所述反向代理模块和所述Web应用程序运行在服务连接器Servlet容器中。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
基于预设Servlet接口调用所述反向代理模块;其中,所述预设Servlet接口作为所述Servlet容器与所述反向代理模块的中间层,用于接收所述反向代理模块发送的所述目标报文数据,并通过所述Servlet容器向所述目标应用程序传递所述目标报文数据。
8.一种反向代理装置,其特征在于,包括:
请求捕获模块,用于通过拦截模块捕获用户在目标应用程序中对目标网址的访问操作生成的目标超文本传输协议HTTP请求,并将所述目标HTTP请求转发给反向代理模块;
请求查询模块,用于通过所述反向代理模块查询所述目标HTTP请求对应的预设反向代理地址,并将所述目标HTTP请求转发给所述预设反向代理地址对应的被代理服务器;
报文接收模块,用于通过所述反向代理模块接收所述被代理服务器根据所述目标HTTP请求反馈的目标报文数据,用于在所述目标应用程序中展示所述目标网址对应的目标页面。
9.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7中任一项所述的一种反向代理方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-7中任一项所述的一种反向代理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111624228.4A CN114285659B (zh) | 2021-12-28 | 2021-12-28 | 一种反向代理方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111624228.4A CN114285659B (zh) | 2021-12-28 | 2021-12-28 | 一种反向代理方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114285659A true CN114285659A (zh) | 2022-04-05 |
CN114285659B CN114285659B (zh) | 2024-05-24 |
Family
ID=80877320
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111624228.4A Active CN114285659B (zh) | 2021-12-28 | 2021-12-28 | 一种反向代理方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114285659B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114466066A (zh) * | 2022-04-13 | 2022-05-10 | 北京指掌易科技有限公司 | 基于Web的反向代理方法、装置、介质及电子设备 |
CN114844693A (zh) * | 2022-04-27 | 2022-08-02 | 深圳云创数安科技有限公司 | 轻量级的通信数据加密方法、装置、设备及存储介质 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060031442A1 (en) * | 2004-05-07 | 2006-02-09 | International Business Machines Corporation | Method and system for externalizing session management using a reverse proxy server |
US20060041637A1 (en) * | 2004-08-18 | 2006-02-23 | Jerrard-Dunne Stanley K | Reverse proxy portlet with rule-based, instance level configuration |
CN104486402A (zh) * | 2014-12-11 | 2015-04-01 | 江苏爱信诺航天信息科技有限公司 | 一种基于大型网站组合均衡的方法 |
CN108512714A (zh) * | 2017-02-28 | 2018-09-07 | 华为技术有限公司 | 一种报文传输方法、相关设备和*** |
CN109218368A (zh) * | 2017-07-05 | 2019-01-15 | 北京京东尚科信息技术有限公司 | 实现Http反向代理的方法、装置、电子设备和可读介质 |
CN111416813A (zh) * | 2020-03-16 | 2020-07-14 | 山东浪潮通软信息科技有限公司 | 一种基于反向代理服务的数据过滤***及实现方法 |
CN111666514A (zh) * | 2020-04-28 | 2020-09-15 | 平安科技(深圳)有限公司 | 网页端实现跨域请求的数据处理方法、装置及相关设备 |
US20200403976A1 (en) * | 2019-06-18 | 2020-12-24 | Microsoft Technology Licensing, Llc | Web server request identification |
US20210092119A1 (en) * | 2019-09-25 | 2021-03-25 | Microsoft Technology Licensing, Llc | Calls to web services via service proxy |
CN112637346A (zh) * | 2020-12-24 | 2021-04-09 | 北京知道创宇信息技术股份有限公司 | 代理方法、装置、代理服务器及存储介质 |
-
2021
- 2021-12-28 CN CN202111624228.4A patent/CN114285659B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060031442A1 (en) * | 2004-05-07 | 2006-02-09 | International Business Machines Corporation | Method and system for externalizing session management using a reverse proxy server |
US20060041637A1 (en) * | 2004-08-18 | 2006-02-23 | Jerrard-Dunne Stanley K | Reverse proxy portlet with rule-based, instance level configuration |
CN104486402A (zh) * | 2014-12-11 | 2015-04-01 | 江苏爱信诺航天信息科技有限公司 | 一种基于大型网站组合均衡的方法 |
CN108512714A (zh) * | 2017-02-28 | 2018-09-07 | 华为技术有限公司 | 一种报文传输方法、相关设备和*** |
CN109218368A (zh) * | 2017-07-05 | 2019-01-15 | 北京京东尚科信息技术有限公司 | 实现Http反向代理的方法、装置、电子设备和可读介质 |
US20200403976A1 (en) * | 2019-06-18 | 2020-12-24 | Microsoft Technology Licensing, Llc | Web server request identification |
US20210092119A1 (en) * | 2019-09-25 | 2021-03-25 | Microsoft Technology Licensing, Llc | Calls to web services via service proxy |
CN111416813A (zh) * | 2020-03-16 | 2020-07-14 | 山东浪潮通软信息科技有限公司 | 一种基于反向代理服务的数据过滤***及实现方法 |
CN111666514A (zh) * | 2020-04-28 | 2020-09-15 | 平安科技(深圳)有限公司 | 网页端实现跨域请求的数据处理方法、装置及相关设备 |
WO2021218018A1 (zh) * | 2020-04-28 | 2021-11-04 | 平安科技(深圳)有限公司 | 网页端实现跨域请求的数据处理方法、装置及相关设备 |
CN112637346A (zh) * | 2020-12-24 | 2021-04-09 | 北京知道创宇信息技术股份有限公司 | 代理方法、装置、代理服务器及存储介质 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114466066A (zh) * | 2022-04-13 | 2022-05-10 | 北京指掌易科技有限公司 | 基于Web的反向代理方法、装置、介质及电子设备 |
CN114466066B (zh) * | 2022-04-13 | 2022-07-22 | 北京指掌易科技有限公司 | 基于Web的反向代理方法、装置、介质及电子设备 |
CN114844693A (zh) * | 2022-04-27 | 2022-08-02 | 深圳云创数安科技有限公司 | 轻量级的通信数据加密方法、装置、设备及存储介质 |
CN114844693B (zh) * | 2022-04-27 | 2024-03-26 | 深圳云创数安科技有限公司 | 轻量级的通信数据加密方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114285659B (zh) | 2024-05-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110062043B (zh) | 服务治理方法、服务治理装置、存储介质及电子设备 | |
US10659516B2 (en) | Data caching and resource request response | |
US20050010661A1 (en) | Systems and methods for testing network services | |
CN110489192B (zh) | 远程通信方法及装置、电子设备 | |
CN114285659B (zh) | 一种反向代理方法、装置、设备及存储介质 | |
CN101754407B (zh) | 一种处理业务访问请求的方法、服务器和*** | |
CN111343262B (zh) | 分布式集群登录方法、装置、设备和存储介质 | |
CN112202744B (zh) | 一种多***数据通信方法和装置 | |
US11853806B2 (en) | Cloud computing platform that executes third-party code in a distributed cloud computing network and uses a distributed data store | |
CN111985906A (zh) | 一种远程办公***、方法、装置及存储介质 | |
CN109495553A (zh) | 一种网页显示控制方法、***及反向代理服务器 | |
US10015086B2 (en) | Multi GTM based routing to avoid latencies | |
CN113923008A (zh) | 一种恶意网站拦截方法、装置、设备及存储介质 | |
CN102148869B (zh) | Java应用程序向本地传递信息的方法及设备 | |
CN114915565B (zh) | 网络调试的方法和*** | |
CN110035099B (zh) | 一种多***管理方法、终端设备及存储介质 | |
CN115617417A (zh) | 一种微前端架构子应用管理方法、装置、设备、存储介质 | |
CN115567605A (zh) | 数据中心用户请求处理方法、***、设备及存储介质 | |
CN109981738B (zh) | 一种适用于窄带物联网应用的云服务器 | |
CN113765972A (zh) | 数据请求响应方法、装置、***、服务器和存储介质 | |
CN115516842A (zh) | 编排代理服务 | |
CN113778709A (zh) | 接口调用方法、装置、服务器及存储介质 | |
CN112532734A (zh) | 报文敏感信息检测方法和装置 | |
CN112491974A (zh) | 远程浏览方法、装置、存储介质、终端设备及服务器 | |
CN113064678B (zh) | 一种缓存配置方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |