CN115277837B - 基于代理的重定向方法和装置 - Google Patents
基于代理的重定向方法和装置 Download PDFInfo
- Publication number
- CN115277837B CN115277837B CN202210868579.8A CN202210868579A CN115277837B CN 115277837 B CN115277837 B CN 115277837B CN 202210868579 A CN202210868579 A CN 202210868579A CN 115277837 B CN115277837 B CN 115277837B
- Authority
- CN
- China
- Prior art keywords
- address
- redirection
- port
- server
- message
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本公开涉及一种基于代理的重定向方法和装置,该方法包括:为服务器配置代理模式;为服务器的实服务地址配置相应的虚服务地址,所述实服务地址包括实服务IP地址和实服务端口,所述虚服务地址包括虚服务IP地址和虚服务端口;接收服务器发送的针对客户端发送的请求报文的重定向报文;判断服务器的代理模式,并基于服务器的代理模式修改所述重定向报文的定位字段,以获得新的重定向报文;将所述新的重定向报文向客户端进行发送,以使客户端在接收到所述新的重定向报文后实现对服务器的正确访问。无需修改服务器组网配置,确保客户可正常访问服务器,避免了每次服务器管理一设置重定向页面,就无法通过代理***正确访问服务器的情况。
Description
技术领域
本公开涉及网络通信技术领域,具体而言,涉及一种基于代理的重定向方法和装置。
背景技术
当今互联网发展历史十分迅速,很多用户拥有自己的服务器,用于给客户访问自己的服务器应用,很多用户在服务器前面部署了代理,隐藏了服务器的真实IP,防止被黑客知悉服务器的真实IP,从而造成不必要的网站损失。使用HTTP代理的服务器此时会出现一个问题,当服务器管理员设置一个地址为跳转地址的时候,客户正常访问服务器网址时会出现一个30X的响应报文,该报文的定位(Location)字段代表服务器想让客户真实去访问的页面,然而很多代理设备并不支持解析这个定位字段,这就导致了用户访问服务器失败,给客户带去了不必要的麻烦。
现有的基于代理的重定向方法主要包括以下两种:第一、通过直接获取30X响应报文中定位字段中的路径去访问该路径;第二、在代理设备上事先预取重定向路径的页面内容,当30X重定向报文来临时,推送事先所预取的重定向路径的页面内容。
以上两种基于代理的重定向方式中,采用第一种方法时,代理配置了虚服务地址以及实服务地址,客户访问的是虚服务地址,然后由代理设备将客户访问的虚服务地址转换为实服务地址,这时候如果实服务做了30X重定向跳转动作,采用第一种方法直接获取30X响应报文中定位字段中的路径去访问,由于代理分为不同的模式,普通代理模式下(即虚服务是HTTP、实服务也是HTTP)只有虚服务地址的端口和实服务的端口时一致的情况才能让客户成功访问服务器;而其他代理模式下,访问的路径是实服务的地址,因此会导致客户访问失败。采用第二种方法时,代理设备事先预取重定向路径的页面内容,当30X重定向报文来临时,推送事先预取的重定向路径的页面内容,通过此种方法客户可以成功访问到服务器的资源,但是每次有所修改都先要事先预取,过于繁琐。
因此,需要一种的可便捷实现的基于代理的重定向方法和装置。
发明内容
有鉴于此,本公开提供一种基于代理的重定向方法和装置。根据本公开的一方面,提出基于代理的重定向方法,该方法包括:为服务器配置代理模式;为服务器的实服务地址配置相应的虚服务地址,所述实服务地址包括实服务IP地址和实服务端口,所述虚服务地址包括虚服务IP地址和虚服务端口;接收服务器发送的针对客户端发送的请求报文的重定向报文;判断服务器的代理模式,并基于基于服务器的代理模式的虚服务地址修改所述重定向报文的定位字段,以获得新的重定向报文;将所述新的重定向报文向客户端进行发送,以使客户端在接收到所述新的重定向报文后实现对服务器的正确访问。
根据本公开的基于代理的重定向方法,其中,所述代理模式为HTTP普通代理模式、HTTPS双向加载代理模式或HTTPS卸载代理模式中的一种。
根据本公开的基于代理的重定向方法,其中,在判断服务器的代理模式,并基于服务器的代理模式修改所述重定向报文的定位字段,以获得新的重定向报文时,包括:当判断服务器的代理模式为HTTP普通代理模式时,提取及解析所述重定向报文的定位字段,并获取所述定位字段包括的重定向IP地址;将所述重定向IP地址与为服务器配置的所述实服务IP地址所包括的IP地址进行匹配;当所述重定向IP地址被成功匹配时,提取与所述重定向IP地址匹配成功的IP地址所属于的第一实服务地址的端口;将所述重定向端口与所述端口进行比对;当所述重定向端口与所述端口比对成功时,修改所述重定向报文的定位字段,以获得新的重定向报文,其中所述新的重定向报文的定位字段的重定向IP地址为所述第一实服务地址相对应的第一虚服务地址所包括的第一虚服务IP地址,以及所述新的重定向报文的定位字段的重定向端口为所述第一实服务地址相对应的第一虚服务地址所包括的第一虚服务端口。
根据本公开的基于代理的重定向方法,其中,在判断服务器的代理模式,并基于服务器的代理模式修改所述重定向报文的定位字段,以获得新的重定向报文时,包括:当判断服务器的代理模式为HTTPS双向加载代理模式时,提取及解析所述重定向报文的定位字段,并获取所述定位字段包括的重定向IP地址;将所述重定向IP地址与为服务器配置的所述实服务IP地址所包括的IP地址进行匹配;当所述重定向IP地址被成功匹配时,提取与所述重定向IP地址匹配成功的IP地址所属于的第二实服务地址的端口;将所述重定向端口与所述端口进行比对;当所述重定向端口与所述端口比对成功时,修改所述重定向报文的定位字段,以获得新的重定向报文,其中所述新的重定向报文的定位字段的重定向IP地址为所述第二实服务地址相对应的第二虚服务地址所包括的第二虚服务IP地址,以及所述新的重定向报文的定位字段的重定向端口为所述第二实服务地址相对应的第二虚服务地址所包括的第二虚服务端口。
根据本公开的基于代理的重定向方法,其中,在判断服务器的代理模式,并基于服务器的代理模式修改所述重定向报文的定位字段,以获得新的重定向报文时,包括:当判断服务器的代理模式为HTTPS卸载代理模式时,提取及解析所述重定向报文的定位字段,并获取所述定位字段包括的重定向IP地址;将所述重定向IP地址与为服务器配置的所述实服务IP地址所包括的IP地址进行匹配;当所述重定向IP地址被成功匹配时,提取与所述重定向IP地址匹配成功的IP地址所属于的第三实服务地址的端口;将所述重定向端口与所述端口进行比对;当所述重定向端口与所述端口比对成功时,修改所述重定向报文的定位字段,以获得新的重定向报文,其中所述新的重定向报文的定位字段的重定向IP地址为所述第三实服务地址相对应的第三虚服务地址所包括的第三虚服务IP地址,以及所述新的重定向报文的定位字段的重定向端口为所述第三实服务地址相对应的第三虚服务地址所包括的第三虚服务端口。
根据本公开的另一方面,提出一种基于代理的重定向装置,该装置包括:代理模式配置组件,用于为服务器配置代理模式;代理地址配置组件,用于为服务器的实服务地址配置相应的虚服务地址,所述实服务地址包括实服务IP地址和实服务端口,所述虚服务地址包括虚服务IP地址和虚服务端口;报文接收组件,用于接收服务器发送的针对客户端发送的请求报文的重定向报文;报文修改组件,用于判断服务器的代理模式,并基于基于服务器的代理模式的虚服务地址修改所述重定向报文的定位字段,以获得新的重定向报文;报文发送组件,用于将所述新的重定向报文向客户端进行发送,以使客户端在接收到所述新的重定向报文后实现对服务器的正确访问。
根据本公开的基于代理的重定向装置,其中,所述代理模式为HTTP普通代理模式、HTTPS双向加载代理模式或HTTPS卸载代理模式中的一种。
根据本公开的基于代理的重定向装置,其中,当判断服务器的代理模式为HTTP普通代理模式时,所述报文修改组件,还包括:重定向IP地址获取组件,用于提取及解析所述重定向报文的定位字段,并获取所述定位字段包括的重定向IP地址;重定向IP地址匹配组件,用于将所述重定向IP地址与为服务器配置的所述实服务IP地址所包括的IP地址进行匹配;重定向端口获取组件,用于当所述重定向IP地址被成功匹配时,提取与所述重定向IP地址匹配成功的IP地址所属于的第一实服务地址的端口;重定向端口对比组件,用于将所述重定向端口与所述端口进行比对;重定向地址修改组件,用于当所述重定向端口与所述端口比对成功时,修改所述重定向报文的定位字段,以获得新的重定向报文,其中所述新的重定向报文的定位字段的重定向IP地址为所述第一实服务地址相对应的第一虚服务地址所包括的第一虚服务IP地址,以及所述新的重定向报文的定位字段的重定向端口为所述第一实服务地址相对应的第一虚服务地址所包括的第一虚服务端口。
根据本公开的基于代理的重定向装置,其中,当判断服务器的代理模式为HTTPS双向加载代理模式时,重定向IP地址获取组件,还用于提取及解析所述重定向报文的定位字段,并获取所述定位字段包括的重定向IP地址;重定向IP地址匹配组件,还用于将所述重定向IP地址与为服务器配置的所述实服务IP地址所包括的IP地址进行匹配;重定向端口获取组件,还用于当所述重定向IP地址被成功匹配时,提取与所述重定向IP地址匹配成功的IP地址所属于的第二实服务地址的端口;重定向端口对比组件,还用于将所述重定向端口与所述端口进行比对;重定向地址修改组件,还用于当所述重定向端口与所述端口比对成功时,修改所述重定向报文的定位字段,以获得新的重定向报文,其中所述新的重定向报文的定位字段的重定向IP地址为所述第二实服务地址相对应的第二虚服务地址所包括的第二虚服务IP地址,以及所述新的重定向报文的定位字段的重定向端口为所述第二实服务地址相对应的第二虚服务地址所包括的第二虚服务端口。
根据本公开的基于代理的重定向装置,其中,当判断服务器的代理模式为HTTPS卸载代理模式时,重定向IP地址获取组件,还用于提取及解析所述重定向报文的定位字段,并获取所述定位字段包括的重定向IP地址;重定向IP地址匹配组件,还用于将所述重定向IP地址与为服务器配置的所述实服务IP地址所包括的IP地址进行匹配;重定向端口获取组件,还用于当所述重定向IP地址被成功匹配时,提取与所述重定向IP地址匹配成功的IP地址所属于的第三实服务地址的端口;重定向端口对比组件,还用于将所述重定向端口与所述端口进行比对;重定向地址修改组件,还用于当所述重定向端口与所述端口比对成功时,修改所述重定向报文的定位字段,以获得新的重定向报文,其中所述新的重定向报文的定位字段的重定向IP地址为所述第三实服务地址相对应的第三虚服务地址所包括的第三虚服务IP地址,以及所述新的重定向报文的定位字段的重定向端口为所述第三实服务地址相对应的第三虚服务地址所包括的第三虚服务端口。
综上,采用本公开的基于代理的方法和装置,可以根据代理***为服务器配置的代理方式对30X响应报文的定位字段进行报文修改,以使符合条件的报文经修改后可以被客户端成功访问其所申请访问的服务器相关页面,具体而言,根据本公开的基于代理的方法,对30X报文的定位字段进行修改,修改的规则是根据代理方而定,代理的方式有HTTP普通代理,HTTPS双向加载以及HTTPS卸载,根据上述三种代理模式的配置对30X的定位字段进行修改,确保修改好后的报文能被客户端正确识别,然后跳转到正确的地址,成功的访问到要访问的服务器页面内容。采用本公开的基于代理的方法,可以让客户访问到服务器上服务器管理员想希望被访问的正确页面,不会每次服务器管理一设置重定向页面,就导致通过代理***访问服务器的用户无法正常访问页面,减少了服务器管理员的工作量,确保客户可以访问到正确的页面;此外,本公开的基于代理的重定向装置与代理***冗余在一起,无需修改服务器组网配置,具有更便捷的效果。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本申请。
附图说明
通过参照附图详细描述其示例实施例,本申请的上述和其它目标、特征及优点将变得更加显而易见。下面描述的附图仅仅是本申请的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1所示的是根据本公开实施例的基于代理的重定向方法的流程示意图。
图2所示的是根据本公开实施例的基于代理的重定向装置的原理示意图。
图3所示的是根据本公开实施例的基于代理的重定向装置中的报文修改组件的原理示意图。
具体实施方式
现在将参考附图更全面地描述示例实施例。然而,示例实施例能够以多种形式实施,且不应被理解为限于在此阐述的实施例;相反,提供这些实施例使得本公开将全面和完整,并将示例实施例的构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本公开的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、***、实现或者操作以避免模糊本公开的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
本领域技术人员可以理解,附图只是示例实施例的示意图,附图中的模块或流程并不一定是实施本公开所必须的,因此不能用于限制本公开的保护范围。
图1所示的是根据本公开实施例的基于代理的重定向方法的流程示意图,如图1所示,在步骤S102中,配置代理模式,即:为服务器配置代理模式;在步骤S104中,配置代理地址,即:为服务器的实服务地址配置相应的虚服务地址,所述实服务地址包括实服务IP地址和实服务端口,所述虚服务地址包括虚服务IP地址和虚服务端口;在步骤S106中,接收重定向报文,即:接收服务器发送的针对客户端发送的请求报文的重定向报文;在步骤S108中,修改重定向报文,即:判断服务器的代理模式,并基于服务器的代理模式修改所述重定向报文的定位字段,以获得新的重定向报文;在步骤S110中,发送重定向报文,即:将所述新的重定向报文向客户端进行发送,以使客户端在接收到所述新的重定向报文后实现对服务器的正确访问。
根据本公开实施例的基于代理的重定向方法,其中,所述代理模式为HTTP普通代理模式、HTTPS双向加载代理模式或HTTPS卸载代理模式中的一种。
具体而言,代理***为服务器配置需要的代理模式,可以是HTTP普通代理模式,也可以是HTTPS双向加载模式或HTTPS卸载模式。在客户端访问相应的服务器页面,服务器返回相应的30X报文时,根据本公开实施例的基于代理的重定向方法,通过代理***对30X报文的定位字段进行修改,修改的规则是根据代理方而定,确保修改好后的报文,能被客户端正确识别,然后跳转到正确的地址,进而成功地访问到要访问的服务器页面内容。根据本公开实施例的基于代理的重定向方法,可以减少服务器管理员的工作量,确保客户可以访问到正确的页面。
根据本公开实施例的基于代理的重定向方法,其中,在判断服务器的代理模式,并基于服务器的代理模式修改所述重定向报文的定位字段,以获得新的重定向报文时,包括:当判断服务器的代理模式为HTTP普通代理模式时,提取及解析所述重定向报文的定位字段,并获取所述定位字段包括的重定向IP地址;将所述重定向IP地址与为服务器配置的所述实服务IP地址所包括的IP地址进行匹配;当所述重定向IP地址被成功匹配时,提取与所述重定向IP地址匹配成功的IP地址所属于的第一实服务地址的端口;将所述重定向端口与所述端口进行比对;当所述重定向端口与所述端口比对成功时,修改所述重定向报文的定位字段,以获得新的重定向报文,其中所述新的重定向报文的定位字段的重定向IP地址为所述第一实服务地址相对应的第一虚服务地址所包括的第一虚服务IP地址,以及所述新的重定向报文的定位字段的重定向端口为所述第一实服务地址相对应的第一虚服务地址所包括的第一虚服务端口。
具体而言,根据本公开实施例的基于代理的重定向方法,在接收到服务器返回相应的30X报文后,当代理模式是HTTP普通代理模式时,根据相应规则修改30X报文后继续发往客户端,客户端根据30X报文修改后的定位字段,可以正确的访问服务器相关页面。
更具体的,当判断代理模式是HTTP普通代理模式时,在接收到30X报文后,提取30X报文的定位字段,假设提取到的定位字段如下:http://10.101.1.1:80/index,因为是HTTP普通代理模式,因此,对定位字段中的路径不需要修改协议头。提取定位字段中的IP地址10.1.1.1,并将提取到的该IP地址与代理配置的实服务IP进行对比,当发现配置不一致时,则无需修改;当发现一致时,继续提取定位字段中的端口80,并将提取到的该端口80与代理配置的实服务端口进行对比,当发现不一致时,无需修改;当发现该IP地址和该端口与代理配置的实服务配置的IP地址和端口一致时,则需要进行修改,即:将该IP地址和该端口换成代理***配置的虚服务的IP地址和端口。例如,假设代理配置的虚服务的IP是10.101.1.2,端口是80,实服务的IP是10.101.1.1,端口是80,则修改后的定位字段变成http://10.101.1.2:80/index,将修改后的30X报文发往客户端。
根据本公开实施例的基于代理的重定向方法,其中,在判断服务器的代理模式,并基于服务器的代理模式修改所述重定向报文的定位字段,以获得新的重定向报文时,包括:当判断服务器的代理模式为HTTPS双向加载代理模式时,提取及解析所述重定向报文的定位字段,并获取所述定位字段包括的重定向IP地址;将所述重定向IP地址与为服务器配置的所述实服务IP地址所包括的IP地址进行匹配;当所述重定向IP地址被成功匹配时,提取与所述重定向IP地址匹配成功的IP地址所属于的第二实服务地址的端口;将所述重定向端口与所述端口进行比对;当所述重定向端口与所述端口比对成功时,修改所述重定向报文的定位字段,以获得新的重定向报文,其中所述新的重定向报文的定位字段的重定向IP地址为所述第二实服务地址相对应的第二虚服务地址所包括的第二虚服务IP地址,以及所述新的重定向报文的定位字段的重定向端口为所述第二实服务地址相对应的第二虚服务地址所包括的第二虚服务端口。
具体而言,根据本公开实施例的基于代理的重定向方法,在接收到服务器返回相应的30X报文后,当代理模式是HTTPS双向加载模式时,根据相应规则修改的30X报文后继续发往客户端,客户端根据30X报文修改后的定位字段,可以正确的访问服务器相关页面。
更具体的,当判断代理模式是HTTPS双向加载模式时,在接收到30X报文后,提取30X报文的定位字段,假设提到的定位字段如下:https://10.101.1.1:443/index,因为是HTTP双向加载代理模式,所以对Location中的路径不需要修改协议头。提取定位字段中的IP地址10.1.1.1,并将提取到的该IP地址与和代理配置的实服务IP进行对比,当发现配置不一致时,则无需修改;当发现一致时,继续提取定位字段中的端口443,并将提取到的该端口443与代理配置的实服务端口进行对比,当发现不一致时,无需修改;当发现该IP地址和该端口和代理配置的实服务配置的IP地址和端口一致时,则需要进行修改,即:将该IP地址和该端口换成代理***配置的虚服务的IP地址和端口。例如,假设代理配置的虚服务的IP地址是10.101.1.2,端口是445,而实服务的IP地址是10.101.1.1,端口是445,则修改后的定位字段变成https://10.101.1.2:445/index,将修改后的报文30X发往客户端。或者,例如假设代理配置的虚服务的IP地址是10.101.1.2,端口是443,而实服务的IP地址是10.101.1.1,端口是443,则修改后的定位字段变成https://10.101.1.2:443/index,将修改后的报文30X发往客户端。
根据本公开实施例的基于代理的重定向方法,其中,在判断服务器的代理模式,并基于服务器的代理模式修改所述重定向报文的定位字段,以获得新的重定向报文时,包括:当判断服务器的代理模式为HTTPS卸载代理模式时,提取及解析所述重定向报文的定位字段,并获取所述定位字段包括的重定向IP地址;将所述重定向IP地址与为服务器配置的所述实服务IP地址所包括的IP地址进行匹配;当所述重定向IP地址被成功匹配时,提取与所述重定向IP地址匹配成功的IP地址所属于的第三实服务地址的端口;将所述重定向端口与所述端口进行比对;当所述重定向端口与所述端口比对成功时,修改所述重定向报文的定位字段,以获得新的重定向报文,其中所述新的重定向报文的定位字段的重定向IP地址为所述第三实服务地址相对应的第三虚服务地址所包括的第三虚服务IP地址,以及所述新的重定向报文的定位字段的重定向端口为所述第三实服务地址相对应的第三虚服务地址所包括的第三虚服务端口。
具体而言,根据本公开实施例的基于代理的重定向方法,在接收到服务器返回相应的30X报文后,当代理模式是HTTPS卸载模式时,根据相应规则修改的30X报文后继续发往客户端,客户端根据30X报文修改后的定位字段,可以的正确的访问服务器相关页面。
更具体的,当判断代理模式是HTTPS卸载模式时,当接收到30X报文后,提取30X报文的定位字段,假设提取到的定位字段如下:http://10.101.1.1:80/index,因为是HTTPS卸载代理模式,所以对Location中的路径需要修改协议头。提取定位字段中的IP地址10.1.1.1,并将提取到的该IP地址与和代理配置的实服务IP地址进行对比,当发现配置不一致时,则无需修改;当发现一致时,继续提取定位字段中的端口443,并将提取到的该端口443与代理配置的实服务端口进行对比,当发现不一致时,无需修改;当发现该IP地址和该端口和代理配置的实服务配置的IP地址和端口一致时,则需要进行修改将该IP地址和该端口换成代理***配置的虚服务的IP地址和端口。例如,假设代理配置的虚服务的IP地址是10.101.1.2,端口是445,而实服务的IP地址是10.101.1.1,端口是445,则修改后的定位字段变成https://10.101.1.2:445/index,将修改后的报文30X发往客户端。或者,例如,假设代理配置的虚服务的IP地址是10.101.1.2,端口是443,而实服务的IP地址是10.101.1.1,端口是80,则修改后的定位字段变成
https://10.101.1.2:443/index,将修改后的报文30X发往客户端。
图2所示的是根据本公开实施例的基于代理的重定向装置的原理示意图,如图2所示,该装置包括:代理模式配置组件202,用于为服务器配置代理模式;代理地址配置组件204,用于为服务器的实服务地址配置相应的虚服务地址,所述实服务地址包括实服务IP地址和实服务端口,所述虚服务地址包括虚服务IP地址和虚服务端口;报文接收组件206,用于接收服务器发送的针对客户端发送的请求报文的重定向报文;报文修改组件208,用于判断服务器的代理模式,并基于服务器的代理模式修改所述重定向报文的定位字段,以获得新的重定向报文;报文发送组件210,用于将所述新的重定向报文向客户端进行发送,以使客户端在接收到所述新的重定向报文后实现对服务器的正确访问。
根据本公开实施例的基于代理的重定向装置,其中,所述代理模式为HTTP普通代理模式、HTTPS双向加载代理模式或HTTPS卸载代理模式中的一种。
图3所示的是根据本公开实施例的基于代理的重定向装置中的报文修改组件的原理示意图,如图3所示,根据本公开实施例的基于代理的重定向装置,其中,当判断服务器的代理模式为HTTP普通代理模式时,所述报文修改组件208,还包括:重定向IP地址获取组件208a,用于提取及解析所述重定向报文的定位字段,并获取所述定位字段包括的重定向IP地址;重定向IP地址匹配组件208b,用于将所述重定向IP地址与为服务器配置的所述实服务IP地址所包括的IP地址进行匹配;重定向端口获取组件208c,用于当所述重定向IP地址被成功匹配时,提取与所述重定向IP地址匹配成功的IP地址所属于的第一实服务地址的端口;重定向端口对比组件208d,用于将所述重定向端口与所述端口进行比对;重定向地址修改组件208e,用于当所述重定向端口与所述端口比对成功时,修改所述重定向报文的定位字段,以获得新的重定向报文,其中所述新的重定向报文的定位字段的重定向IP地址为所述第一实服务地址相对应的第一虚服务地址所包括的第一虚服务IP地址,以及所述新的重定向报文的定位字段的重定向端口为所述第一实服务地址相对应的第一虚服务地址所包括的第一虚服务端口。
根据本公开实施例的基于代理的重定向装置,其中,当判断服务器的代理模式为HTTPS双向加载代理模式时,重定向IP地址获取组件208a,还用于提取及解析所述重定向报文的定位字段,并获取所述定位字段包括的重定向IP地址;重定向IP地址匹配组件208b,还用于将所述重定向IP地址与为服务器配置的所述实服务IP地址所包括的IP地址进行匹配;重定向端口获取组件208c,还用于当所述重定向IP地址被成功匹配时,提取与所述重定向IP地址匹配成功的IP地址所属于的第二实服务地址的端口;重定向端口对比组件208d,还用于将所述重定向端口与所述端口进行比对;重定向地址修改组件208e,还用于当所述重定向端口与所述端口比对成功时,修改所述重定向报文的定位字段,以获得新的重定向报文,其中所述新的重定向报文的定位字段的重定向IP地址为所述第二实服务地址相对应的第二虚服务地址所包括的第二虚服务IP地址,以及所述新的重定向报文的定位字段的重定向端口为所述第二实服务地址相对应的第二虚服务地址所包括的第二虚服务端口。
根据本公开实施例的基于代理的重定向装置,其中,当判断服务器的代理模式为HTTPS卸载代理模式时,重定向IP地址获取组件208a,还用于提取及解析所述重定向报文的定位字段,并获取所述定位字段包括的重定向IP地址;重定向IP地址匹配组件208b,还用于将所述重定向IP地址与为服务器配置的所述实服务IP地址所包括的IP地址进行匹配;重定向端口获取组件208b,还用于当所述重定向IP地址被成功匹配时,提取与所述重定向IP地址匹配成功的IP地址所属于的第三实服务地址的端口;重定向端口对比组件208d,还用于将所述重定向端口与所述端口进行比对;重定向地址修改组件208e,还用于当所述重定向端口与所述端口比对成功时,修改所述重定向报文的定位字段,以获得新的重定向报文,其中所述新的重定向报文的定位字段的重定向IP地址为所述第三实服务地址相对应的第三虚服务地址所包括的第三虚服务IP地址,以及所述新的重定向报文的定位字段的重定向端口为所述第三实服务地址相对应的第三虚服务地址所包括的第三虚服务端口。
综上,采用本公开的基于代理的方法和装置,可以根据代理***为服务器配置的代理方式对30X响应报文的定位字段进行报文修改,以使符合条件的报文经修改后可以被客户端成功访问其所申请访问的服务器相关页面,具体而言,根据本公开的基于代理的方法,对30X报文的定位字段进行修改,修改的规则是根据代理方而定,代理的方式有HTTP普通代理,HTTPS双向加载以及HTTPS卸载,根据上述三种代理模式的配置对30X的定位字段进行修改,确保修改好后的报文能被客户端正确识别,然后跳转到正确的地址,成功的访问到要访问的服务器页面内容。采用本公开的基于代理的方法,可以让客户访问到服务器上服务器管理员想希望被访问的正确页面,不会每次服务器管理一设置重定向页面,就导致通过代理***访问服务器的用户无法正常访问页面,减少了服务器管理员的工作量,确保客户可以访问到正确的页面;此外,本公开的基于代理的重定向装置与代理***冗余在一起,无需修改服务器组网配置,具有更便捷的效果。
总体而言,本公开通过代理***对30X报文的Location字段进行修改,修改的规则是根据代理的方式而定,代理的方式有HTTP普通代理,HTTPS双向加载以及HTTPS卸载。根据三种代理模式的配置对30X的Location字段进行修改,确保修改好后的报文,能被客户端正确识别,然后跳转到正确的地址,成功的访问到要访问的服务器页面内容。该方式可以让客户访问到服务器上服务器管理员想要让访问的正确页面,而不会一旦每次服务器管理设置重定向页面,就导致通过代理***访问服务器的用户无法正常访问页面,给客户以及服务器管理员都来了便捷。具体而言,在任何代理模式下,基于虚拟地址修改30X报文的定位字段,以便客户端根据修改后的定位字段正确的访问服务器相关页面。
所述软件产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
所述计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读存储介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本申请操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该计算机可读介质实现如下功能:通过预设应用以预定的周期获取当前***中的内存占用量;在内存占用量大于内存阈值时,启用内存分析功能;基于内存分析功能对当前***的内存占用进行分析,生成分析结果;在所述分析结果中存在异常时,生成异常报告并生成警示信息。
本领域技术人员可以理解上述各模块可以按照实施例的描述分布于装置中,也可以进行相应变化唯一不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
通过以上的实施例的描述,本领域的技术人员易于理解,这里描述的示例实施例可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本申请实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、移动终端、或者网络设备等)执行根据本申请实施例的方法。以上具体地示出和描述了本申请的示例性实施例。应可理解的是,本申请不限于这里描述的详细结构、设置方式或实现方法;相反,本申请意图涵盖包含在所附权利要求的精神和范围内的各种修改和等效设置。
Claims (10)
1.一种基于代理的重定向方法,包括:
为服务器配置代理模式;
为服务器的实服务地址配置相应的虚服务地址,所述实服务地址包括实服务IP地址和实服务端口,所述虚服务地址包括虚服务IP地址和虚服务端口;
接收服务器发送的针对客户端发送的请求报文的重定向报文;
判断服务器的代理模式,并基于服务器的代理模式的虚服务地址修改所述重定向报文的定位字段,以获得新的重定向报文;
将所述新的重定向报文向客户端进行发送,以使客户端在接收到所述新的重定向报文后实现对服务器的正确访问。
2.根据权利要求1所述的基于代理的重定向方法,其中,
所述代理模式为HTTP普通代理模式、HTTPS双向加载代理模式或HTTPS卸载代理模式中的一种。
3.根据权利要求2所述的基于代理的重定向方法,其中,在判断服务器的代理模式,并基于服务器的代理模式修改所述重定向报文的定位字段,以获得新的重定向报文时,包括:
当判断服务器的代理模式为HTTP普通代理模式时,提取及解析所述重定向报文的定位字段,并获取所述定位字段包括的重定向IP地址;
将所述重定向IP地址与为服务器配置的所述实服务IP地址所包括的IP地址进行匹配;
当所述重定向IP地址被成功匹配时,提取与所述重定向IP地址匹配成功的IP地址所属于的第一实服务地址的端口;
将所述重定向端口与所述端口进行比对;
当所述重定向端口与所述端口比对成功时,修改所述重定向报文的定位字段,以获得新的重定向报文,其中所述新的重定向报文的定位字段的重定向IP地址为所述第一实服务地址相对应的第一虚服务地址所包括的第一虚服务IP地址,以及所述新的重定向报文的定位字段的重定向端口为所述第一实服务地址相对应的第一虚服务地址所包括的第一虚服务端口。
4.根据权利要求2所述的基于代理的重定向方法,其中,在判断服务器的代理模式,并基于服务器的代理模式修改所述重定向报文的定位字段,以获得新的重定向报文时,包括:
当判断服务器的代理模式为HTTPS双向加载代理模式时,提取及解析所述重定向报文的定位字段,并获取所述定位字段包括的重定向IP地址;
将所述重定向IP地址与为服务器配置的所述实服务IP地址所包括的IP地址进行匹配;
当所述重定向IP地址被成功匹配时,提取与所述重定向IP地址匹配成功的IP地址所属于的第二实服务地址的端口;
将所述重定向端口与所述端口进行比对;
当所述重定向端口与所述端口比对成功时,修改所述重定向报文的定位字段,以获得新的重定向报文,其中所述新的重定向报文的定位字段的重定向IP地址为所述第二实服务地址相对应的第二虚服务地址所包括的第二虚服务IP地址,以及所述新的重定向报文的定位字段的重定向端口为所述第二实服务地址相对应的第二虚服务地址所包括的第二虚服务端口。
5.根据权利要求2所述的基于代理的重定向方法,其中,在判断服务器的代理模式,并基于服务器的代理模式修改所述重定向报文的定位字段,以获得新的重定向报文时,包括:
当判断服务器的代理模式为HTTPS卸载代理模式时,提取及解析所述重定向报文的定位字段,并获取所述定位字段包括的重定向IP地址;
将所述重定向IP地址与为服务器配置的所述实服务IP地址所包括的IP地址进行匹配;
当所述重定向IP地址被成功匹配时,提取与所述重定向IP地址匹配成功的IP地址所属于的第三实服务地址的端口;
将所述重定向端口与所述端口进行比对;
当所述重定向端口与所述端口比对成功时,修改所述重定向报文的定位字段,以获得新的重定向报文,其中所述新的重定向报文的定位字段的重定向IP地址为所述第三实服务地址相对应的第三虚服务地址所包括的第三虚服务IP地址,以及所述新的重定向报文的定位字段的重定向端口为所述第三实服务地址相对应的第三虚服务地址所包括的第三虚服务端口。
6.一种基于代理的重定向装置,包括:
代理模式配置组件,用于为服务器配置代理模式;
代理地址配置组件,用于为服务器的实服务地址配置相应的虚服务地址,所述实服务地址包括实服务IP地址和实服务端口,所述虚服务地址包括虚服务IP地址和虚服务端口;
报文接收组件,用于接收服务器发送的针对客户端发送的请求报文的重定向报文;
报文修改组件,用于判断服务器的代理模式,并基于服务器的代理模式的虚服务地址修改所述重定向报文的定位字段,以获得新的重定向报文;
报文发送组件,用于将所述新的重定向报文向客户端进行发送,以使客户端在接收到所述新的重定向报文后实现对服务器的正确访问。
7.根据权利要求6所述的基于代理的重定向装置,其中,
所述代理模式为HTTP普通代理模式、HTTPS双向加载代理模式或HTTPS卸载代理模式中的一种。
8.根据权利要求7所述的基于代理的重定向装置,其中,当判断服务器的代理模式为HTTP普通代理模式时,所述报文修改组件,还包括:
重定向IP地址获取组件,用于提取及解析所述重定向报文的定位字段,并获取所述定位字段包括的重定向IP地址;
重定向IP地址匹配组件,用于将所述重定向IP地址与为服务器配置的所述实服务IP地址所包括的IP地址进行匹配;
重定向端口获取组件,用于当所述重定向IP地址被成功匹配时,提取与所述重定向IP地址匹配成功的IP地址所属于的第一实服务地址的端口;
重定向端口对比组件,用于将所述重定向端口与所述端口进行比对;
重定向地址修改组件,用于当所述重定向端口与所述端口比对成功时,修改所述重定向报文的定位字段,以获得新的重定向报文,其中所述新的重定向报文的定位字段的重定向IP地址为所述第一实服务地址相对应的第一虚服务地址所包括的第一虚服务IP地址,以及所述新的重定向报文的定位字段的重定向端口为所述第一实服务地址相对应的第一虚服务地址所包括的第一虚服务端口。
9.根据权利要求8所述的基于代理的重定向装置,其中,当判断服务器的代理模式为HTTPS双向加载代理模式时,
重定向IP地址获取组件,还用于提取及解析所述重定向报文的定位字段,并获取所述定位字段包括的重定向IP地址;
重定向IP地址匹配组件,还用于将所述重定向IP地址与为服务器配置的所述实服务IP地址所包括的IP地址进行匹配;
重定向端口获取组件,还用于当所述重定向IP地址被成功匹配时,提取与所述重定向IP地址匹配成功的IP地址所属于的第二实服务地址的端口;
重定向端口对比组件,还用于将所述重定向端口与所述端口进行比对;
重定向地址修改组件,还用于当所述重定向端口与所述端口比对成功时,修改所述重定向报文的定位字段,以获得新的重定向报文,其中所述新的重定向报文的定位字段的重定向IP地址为所述第二实服务地址相对应的第二虚服务地址所包括的第二虚服务IP地址,以及所述新的重定向报文的定位字段的重定向端口为所述第二实服务地址相对应的第二虚服务地址所包括的第二虚服务端口。
10.根据权利要求8所述的基于代理的重定向装置,其中,当判断服务器的代理模式为HTTPS卸载代理模式时,
重定向IP地址获取组件,还用于提取及解析所述重定向报文的定位字段,并获取所述定位字段包括的重定向IP地址;
重定向IP地址匹配组件,还用于将所述重定向IP地址与为服务器配置的所述实服务IP地址所包括的IP地址进行匹配;
重定向端口获取组件,还用于当所述重定向IP地址被成功匹配时,提取与所述重定向IP地址匹配成功的IP地址所属于的第三实服务地址的端口;
重定向端口对比组件,还用于将所述重定向端口与所述端口进行比对;
重定向地址修改组件,还用于当所述重定向端口与所述端口比对成功时,修改所述重定向报文的定位字段,以获得新的重定向报文,其中所述新的重定向报文的定位字段的重定向IP地址为所述第三实服务地址相对应的第三虚服务地址所包括的第三虚服务IP地址,以及所述新的重定向报文的定位字段的重定向端口为所述第三实服务地址相对应的第三虚服务地址所包括的第三虚服务端口。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210868579.8A CN115277837B (zh) | 2022-07-22 | 2022-07-22 | 基于代理的重定向方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210868579.8A CN115277837B (zh) | 2022-07-22 | 2022-07-22 | 基于代理的重定向方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115277837A CN115277837A (zh) | 2022-11-01 |
CN115277837B true CN115277837B (zh) | 2023-04-25 |
Family
ID=83769933
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210868579.8A Active CN115277837B (zh) | 2022-07-22 | 2022-07-22 | 基于代理的重定向方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115277837B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103327008A (zh) * | 2013-05-22 | 2013-09-25 | 杭州华三通信技术有限公司 | 一种http重定向方法及装置 |
CN103503419A (zh) * | 2011-03-11 | 2014-01-08 | 高通股份有限公司 | 使用网页代理服务器访问具有分配的网络地址的设备的***和方法 |
WO2019218845A1 (zh) * | 2018-05-17 | 2019-11-21 | 中兴通讯股份有限公司 | 超文本传输协议重定向方法、装置、路由设备及存储介质 |
CN110710184A (zh) * | 2017-04-07 | 2020-01-17 | 思杰***有限公司 | 用于为了增强的安全性和可见性通过云托管或本地网络网关安全且透明地代理saas应用的***和方法 |
CN111404772A (zh) * | 2020-03-09 | 2020-07-10 | 杭州迪普科技股份有限公司 | Ssl代理网关的测试***和方法 |
CN112954001A (zh) * | 2021-01-18 | 2021-06-11 | 武汉绿色网络信息服务有限责任公司 | 一种http转https双向透明代理的方法和装置 |
CN113273140A (zh) * | 2018-12-20 | 2021-08-17 | 北京嘀嘀无限科技发展有限公司 | 用于管理网络通信会话的***和方法 |
CN114157485A (zh) * | 2021-12-03 | 2022-03-08 | 北京天融信网络安全技术有限公司 | 一种资源访问方法、装置和电子设备 |
-
2022
- 2022-07-22 CN CN202210868579.8A patent/CN115277837B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103503419A (zh) * | 2011-03-11 | 2014-01-08 | 高通股份有限公司 | 使用网页代理服务器访问具有分配的网络地址的设备的***和方法 |
CN103327008A (zh) * | 2013-05-22 | 2013-09-25 | 杭州华三通信技术有限公司 | 一种http重定向方法及装置 |
CN110710184A (zh) * | 2017-04-07 | 2020-01-17 | 思杰***有限公司 | 用于为了增强的安全性和可见性通过云托管或本地网络网关安全且透明地代理saas应用的***和方法 |
WO2019218845A1 (zh) * | 2018-05-17 | 2019-11-21 | 中兴通讯股份有限公司 | 超文本传输协议重定向方法、装置、路由设备及存储介质 |
CN113273140A (zh) * | 2018-12-20 | 2021-08-17 | 北京嘀嘀无限科技发展有限公司 | 用于管理网络通信会话的***和方法 |
CN111404772A (zh) * | 2020-03-09 | 2020-07-10 | 杭州迪普科技股份有限公司 | Ssl代理网关的测试***和方法 |
CN112954001A (zh) * | 2021-01-18 | 2021-06-11 | 武汉绿色网络信息服务有限责任公司 | 一种http转https双向透明代理的方法和装置 |
CN114157485A (zh) * | 2021-12-03 | 2022-03-08 | 北京天融信网络安全技术有限公司 | 一种资源访问方法、装置和电子设备 |
Non-Patent Citations (1)
Title |
---|
庄纪林 ; .一个基于HTTP重定向的Web服务负载均衡***的设计和实现.现代图书情报技术.2008,(02),全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN115277837A (zh) | 2022-11-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7702317B2 (en) | System and method to query wireless network offerings | |
US9667704B1 (en) | System and method for classifying API requests in API processing systems using a tree configuration | |
US20140082154A1 (en) | File sharing method, terminal and relay server | |
CN107124430B (zh) | 页面劫持监控方法、装置、***和存储介质 | |
US20150271202A1 (en) | Method, device, and system for detecting link layer hijacking, user equipment, and analyzing server | |
US20160285992A1 (en) | Rule based cache processing in application delivery controller for load balancing | |
CN110958237A (zh) | 一种权限校验的方法和装置 | |
US10592399B2 (en) | Testing web applications using clusters | |
CN111200655A (zh) | 一种基于代理服务器的内网访问方法、***、电子设备 | |
US9602469B2 (en) | Method and apparatus for optimizing hypertext transfer protocol (“HTTP”) uniform resource locator (“URL”) filtering service | |
CN112765103B (zh) | 一种文件解析方法、***、装置及设备 | |
CN112187491A (zh) | 服务器的管理方法、装置和设备 | |
CN104333548A (zh) | 在https网页中访问本地服务的方法及*** | |
CN111866124A (zh) | 访问网页页面的方法、装置、服务器和机器可读存储介质 | |
US9325803B2 (en) | Methods, circuits, devices, systems and associated computer executable code for caching content | |
CN108093036B (zh) | 一种获取资源的方法及装置 | |
CN111930709A (zh) | 数据存储方法、装置、电子设备和计算机可读介质 | |
CN107911357A (zh) | 一种单点登录的方法、装置、服务器及存储介质 | |
CN108595574B (zh) | 数据库集群的连接方法、装置、设备及存储介质 | |
CN114666245A (zh) | B/S***的IPv6单栈支持度确定方法及相关设备 | |
CN111190664A (zh) | 一种生成页面的方法和*** | |
CN110177096B (zh) | 客户端认证方法、装置、介质和计算设备 | |
CN115277837B (zh) | 基于代理的重定向方法和装置 | |
US20080082545A1 (en) | Proxy operations on client devices | |
CN113271300B (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 |