CN112532666A - 反向代理方法、装置、存储介质及设备 - Google Patents

反向代理方法、装置、存储介质及设备 Download PDF

Info

Publication number
CN112532666A
CN112532666A CN201910883396.1A CN201910883396A CN112532666A CN 112532666 A CN112532666 A CN 112532666A CN 201910883396 A CN201910883396 A CN 201910883396A CN 112532666 A CN112532666 A CN 112532666A
Authority
CN
China
Prior art keywords
domain name
access request
port
target
server
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
Application number
CN201910883396.1A
Other languages
English (en)
Other versions
CN112532666B (zh
Inventor
张秋生
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Gridsum Technology Co Ltd
Original Assignee
Beijing Gridsum Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Gridsum Technology Co Ltd filed Critical Beijing Gridsum Technology Co Ltd
Priority to CN201910883396.1A priority Critical patent/CN112532666B/zh
Publication of CN112532666A publication Critical patent/CN112532666A/zh
Application granted granted Critical
Publication of CN112532666B publication Critical patent/CN112532666B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4511Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本公开涉及一种反向代理方法、装置、存储介质及设备,所述方法包括:服务器响应于接收到访问请求,根据本地存储的路由规则表,确定与所述访问请求的域名对应的目标端口,其中,所述路由规则表包括域名和端口之间的对应关系;以及将所述访问请求路由至以所述目标端口为访问端口的容器,以由所述容器为所述访问请求提供服务。通过上述技术方案,在多个域名共享同一反向代理服务时,可以通过不同端口对应的容器为不同的域名对应的访问请求提供服务,实现反向代理的底层隔离,同时,可以避免现有技术中共享反向代理服务时,不同域名对应的业务之间的影响,提高反向代理服务的稳定性和健壮性。并且,可以有效降低资源开销,节省成本。

Description

反向代理方法、装置、存储介质及设备
技术领域
本公开涉及网络技术领域,具体地,涉及一种反向代理方法、装置、存储介质及设备。
背景技术
计算机网络技术的发展,反向代理服务随之兴起。反向代理服务是指反向代理服务器根据客户端的请求,从与该反向代理服务器关联的服务器上获取资源,从而对客户端的请求进行响应。而对于客户端而言,其只需向基于反向代理服务器的IP地址发起请求即可,无需了解与该反向代理服务器关联的服务器。
相关技术中,在实际使用场景中,实现反向代理服务共享时,通常是增加一反向代理服务器,并且多个业务(域名)共享一个反向代理服务进程,每个业务的配置文件相互独立,从而实现反向代理服务的统一配置和管理。然而,通过上述方式实现反向代理服务共享时,由于多个业务共享一个反向代理服务进程,这使得其中某个业务需要重启反向代理服务时,影响其他业务的使用。
发明内容
本公开的目的是提供一种安全、健壮地反向代理方法、装置、存储介质及设备。
为了实现上述目的,根据本公开的第一方面,提供一种反向代理方法,所述方法包括:
服务器响应于接收到访问请求,根据本地存储的路由规则表,确定与所述访问请求的域名对应的目标端口,其中,所述路由规则表包括域名和端口之间的对应关系;以及
将所述访问请求路由至以所述目标端口为访问端口的容器,以由所述容器为所述访问请求提供服务。
可选地,所述对应关系被存储在分布式存储器中;
在所述根据本地存储的路由规则表,确定与所述访问请求的域名对应的目标端口的步骤之前,所述方法还包括:
所述服务器通过路由代理进程,将存储在所述分布式存储器中的所述对应关系同步到所述路由规则表中。
根据本公开的第二方面,提供一种反向代理方法,所述方法包括:
响应于接收到访问请求,通过域名系统服务确定与访问请求的域名对应的目标服务器,所述目标服务器用于为所述访问请求提供服务;
将所述访问请求发送至所述目标服务器,以便所述目标服务器根据本地存储的路由规则表,确定与所述访问请求的域名对应的目标端口,其中,所述路由规则表包括域名和端口之间的对应关系;以及将所述访问请求路由至所述目标服务器中以所述目标端口为访问端口的容器,以由所述容器为所述访问请求提供服务。
可选地,所述方法还包括:
获取待配置的域名;
通过所述域名系统服务查询可用端口;
根据查询到的可用端口,确定与所述待配置的域名对应的目标可用端口,以获得所述待配置的域名与所述目标可用端口之间的对应关系,其中,该对应关系被存储到所述路由规则表中;
确定与所述待配置的域名对应的服务器;
在与所述待配置的域名对应的服务器中创建容器,并将创建的所述容器的访问端口设置为所述目标可用端口。
可选地,所述方法还包括:
在获得了所述待配置的域名与所述目标可用端口之间的对应关系之后,将该对应关系存储到分布式存储器中,以便所述目标服务器将所述分布式存储器中存储的对应关系同步到本地存储的所述路由规则表中。
可选地,所述根据查询到的可用端口,确定与所述待配置的域名对应的目标可用端口,包括:
若查询到的可用端口为一个,则将该可用端口确定为所述目标可用端口;
若查询到的可用端口为多个,则将多个所述可用端口中的任一个可用端口确定为所述目标可用端口。
可选地,所述通过域名系统服务确定与访问请求的域名对应的目标服务器,包括:
通过所述域名系统服务,确定与所述访问请求的域名对应的服务器集群;
根据负载均衡原则,从所述服务器集群的可用服务器中确定出所述目标服务器。
根据本公开的第三方面,提供一种反向代理装置,应用于服务器,所述装置包括:
第一确定模块,用于响应于接收到访问请求,根据本地存储的路由规则表,确定与所述访问请求的域名对应的目标端口,其中,所述路由规则表包括域名和端口之间的对应关系;以及
路由模块,用于将所述访问请求路由至以所述目标端口为访问端口的容器,以由所述容器为所述访问请求提供服务。
可选地,所述对应关系被存储在分布式存储器中;
所述装置还包括:
路由代理进程,用于在所述第一确定模块根据本地存储的路由规则表,确定与所述访问请求的域名对应的目标端口之前,将存储在所述分布式存储器中的所述对应关系同步到所述路由规则表中。
根据本公开的第四方面,提供一种反向代理装置,所述装置包括:
第二确定模块,用于响应于接收到访问请求,通过域名系统服务确定与访问请求的域名对应的目标服务器,所述目标服务器用于为所述访问请求提供服务;
发送模块,用于将所述访问请求发送至所述目标服务器,以便所述目标服务器根据本地存储的路由规则表,确定与所述访问请求的域名对应的目标端口,其中,所述路由规则表包括域名和端口之间的对应关系;以及将所述访问请求路由至所述目标服务器中以所述目标端口为访问端口的容器,以由所述容器为所述访问请求提供服务。
可选地,所述装置还包括:
获取模块,用于获取待配置的域名;
查询模块,用于通过所述域名系统服务查询可用端口;
第三确定模块,用于根据查询到的可用端口,确定与所述待配置的域名对应的目标可用端口,以获得所述待配置的域名与所述目标可用端口之间的对应关系,其中,该对应关系被存储到所述路由规则表中;
第四确定模块,用于确定与所述待配置的域名对应的服务器;
设置模块,用于在与所述待配置的域名对应的服务器中创建容器,并将创建的所述容器的访问端口设置为所述目标可用端口。
可选地,所述装置还包括:
存储模块,用于在获得了所述待配置的域名与所述目标可用端口之间的对应关系之后,将该对应关系存储到分布式存储器中,以便所述目标服务器将所述分布式存储器中存储的对应关系同步到本地存储的所述路由规则表中。
可选地,所述第三确定模块用于:
若查询到的可用端口为一个,则将该可用端口确定为所述目标可用端口;
若查询到的可用端口为多个,则将多个所述可用端口中的任一个可用端口确定为所述目标可用端口。
可选地,所述第二确定模块包括:
第一确定子模块,用于通过所述域名系统服务,确定与所述访问请求的域名对应的服务器集群;
第二确定子模块,用于根据负载均衡原则,从所述服务器集群的可用服务器中确定出所述目标服务器。
根据本公开的第五方面,提供一种存储介质,其上存储有程序,该程序被处理器执行时实现上述第一方面或第二方面任一所述方法的步骤。
根据本公开的第六方面,提供一种设备,所述设备包括:
至少一个处理器、以及与所述处理器连接的至少一个存储器、总线;
其中,所述处理器、所述存储器通过所述总线完成相互间的通信;
所述处理器用于调用所述存储器中的程序指令,以执行上述第一方面或第二方面任一所述方法的步骤。
根据本公开的第七方面,提供一种反向代理系统,包括多个服务器、以及主控装置;
所述服务器被配置为执行上述第一方面任一所述方法的步骤;
所述主控装置被配置为执行上述第二方面任一项所述方法的步骤。
在上述技术方案中,在进行反向代理时,将访问请求发送至服务器后,服务器可以根据其本地存储的路由规则表确定与访问请求的域名对应的目标端口,从而可以将访问请求路由至以目标端口为访问端口的容器。通过上述技术方案,在多个域名共享同一反向代理服务时,可以通过不同端口对应的容器为不同的域名对应的访问请求提供服务,实现反向代理的底层隔离,因此,当某一域名对应的业务需要重启时,只需要重启该域名对应的容器,从而可以避免现有技术中共享反向代理服务时,不同域名对应的业务之间的影响,提高反向代理服务的稳定性和健壮性。并且,在本公开提供的技术方案中,无需增加新的反向代理服务器,从而可以有效降低资源开销,节省成本。
本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:
图1是根据本公开的一种实施方式提供的反向代理方法的流程图;
图2是根据本公开的一种实施方式提供的反向代理方法的流程图;
图3是为根据本公开的一种实施方式提供的应用环境示意图;
图4是根据本公开的一种实施方式提供的反向代理装置的框图;
图5是根据本公开的一种实施方式提供的反向代理装置的框图;
图6是根据一示例性实施例示出的一种设备的框图。
具体实施方式
以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。
如背景技术中所述,多个业务共享反向代理服务时,多个业务之间会相互影响,为了解决背景技术中的问题,本公开提供一种反向代理系统,所述系统可以包括:
多个服务器,其中,该多个服务器用于为客户端发起的请求提供相应的服务;
主控装置,其中该主控装置可以用于接收客户端的请求,并将该请求发送至多个服务器中相应的服务器,以进行响应。
以下,结合具体的实施例,对上述服务器和主控装置执行的方法进行详细说明。
本公开提供一种反向代理方法,如图1所示,为根据本公开的一种实施方式提供的反向代理方法的流程图。其中,该方法可以应用于上述主控装置中,所述方法包括:
在S11中,响应于接收到访问请求,通过域名系统服务确定与访问请求的域名对应的目标服务器,所述目标服务器用于为所述访问请求提供服务。其中,目标服务器可以为上述反向代理系统中包括的多个服务器中的一者,该访问请求可以是针对某一业务发起的请求。
其中,域名系统(Domain Name System,DNS)是互联网的一项服务。它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。因此,在接收到访问请求时,可以通过DNS服务确定与访问请求的域名对应的IP地址,该IP地址对应的服务器则为该目标服务器。
在S12中,将访问请求发送至目标服务器,以便目标服务器根据本地存储的路由规则表,确定与访问请求的域名对应的目标端口,其中,路由规则表包括域名和端口之间的对应关系;以及将访问请求路由至目标服务器中以目标端口为访问端口的容器,以由容器为访问请求提供服务。
在确定出目标服务器之后,则可以基于上文所述确定出的IP地址,将该访问请求发送至目标服务器,以由该目标服务器对该访问请求进行响应。
相应地,本公开还提供一种反向代理方法,如图2所示,为根据本公开的一种实施方式提供的反向代理方法的流程图。其中,该方法可以应用于上述服务器中,所述方法包括:
在S21中,服务器响应于接收到访问请求,根据本地存储的路由规则表,确定与访问请求的域名对应的目标端口,其中,所述路由规则表包括域名和端口之间的对应关系。其中,路由规则表可以通过IPTABLES进行管理,其中IPTABLES为现有的规则管理工具,可以用于设置IP包的过滤规则、网络地址转换、路由规则等,在此不再赘述。
在S22中,将访问请求路由至以目标端口为访问端口的容器,以由所述容器为所述访问请求提供服务。其中,该容器可以为Nginx类的容器。
示例,路由规则表中包括以下规则:
a.test.com->9001
b.test.com->9002
即,表示将域名为“a.test.com”的和端口9001相对应,将域名为“b.test.com”和端口9002相对应。
示例地,图3所示,为根据本公开的一种实施方式提供的应用环境示意图,其中M表示主控装置,DNS表示域名系统服务,A、B表示服务器,P9001表示访问端口为9001的容器,P9002表示访问端口为9002的容器。
在该实施例中,客户端可以向域名“a.test.com”发起访问请求,DNS服务根据该域名确定出与该域名对应的IP地址为“10.10.0.2”,则服务器A为目标服务器。因此,可以将该访问请求发送至服务器A。服务器A在接收到该访问请求后,查询其本地存储的路由规则表,从而确定与域名“a.test.com”对应的端口为“9001”,从而将访问“a.test.com”的访问请求路由至以端口9001为访问端口的容器P9001,进而由该容器P9001为访问请求提供服务,以返回该访问请求对应的相关资源。
在上述技术方案中,在进行反向代理时,将访问请求发送至服务器后,服务器可以根据其本地存储的路由规则表确定与访问请求的域名对应的目标端口,从而可以将访问请求路由至以目标端口为访问端口的容器。通过上述技术方案,在多个域名共享同一反向代理服务时,可以通过不同端口对应的容器为不同的域名对应的访问请求提供服务,实现反向代理的底层隔离,因此,当某一域名对应的业务需要重启时,只需要重启该域名对应的容器,从而可以避免现有技术中共享反向代理服务时,不同域名对应的业务之间的影响,提高反向代理服务的稳定性和健壮性。并且,在本公开提供的技术方案中,无需增加新的反向代理服务器,从而可以有效降低资源开销,节省成本。
可选地,根据本公开提供另一实施方式,本公开提供的反向代理服务中包括对应关系及容器的配置过程,所述方法还可以包括:
第一步骤,获取待配置的域名,其中,该待配置的域名可以是管理员在前端界面直接输入,也可以通过遍历各个未配置的业务对应的域名获得。
第二步骤,通过所述域名系统服务查询可用端口。其中,所述可用端口可以是未进行配置的任一可配置的端口。其中,在查询可用端口时,可以调用域名系统服务中的dnsMap接口进行查询。
作为示例,在查询可用端口时,可以针对指定的端口进行查询,即查询该指定的端口是否为可用端口,如,查询端口9001是否可用。作为另一示例,在查询可用端口时,可以查询出全部的可用端口。其中,上述两种查询方式都可以通过现有的dnsMap技术实现,在此不再赘述。
第三步骤,根据查询到的可用端口,确定与所述待配置的域名对应的目标可用端口,以获得所述待配置的域名与所述目标可用端口之间的对应关系,其中,该对应关系被存储到所述路由规则表中。
可选地,在一实施例中,所述根据查询到的可用端口,确定与所述待配置的域名对应的目标可用端口,可以包括:
若查询到的可用端口为一个,则将该可用端口确定为所述目标可用端口;若查询到的可用端口为多个,则将多个所述可用端口中的任一个可用端口确定为所述目标可用端口。
其中,在从多个可用端口中选择目标可用端口时,可以按照端口号由大至小或由小至大的顺序进行选择,也可以随机选择,本公开对此不进行限定。
在一实施例中,可以在生成对应关系时,将该对应关系发送至服务器,从而使得服务器可以根据该对应关系同步其本地的路由规则表。在另一实施例中,可以由服务器定时启动同步进程,以获取该对应关系,并更新其路由规则表。通过上述技术方案,可以有效保证服务器中路由规则表的实时性和准确性,从而保证路由的准确性。
第四步骤,确定与所述待配置的域名对应的服务器,其中,可以根据域名系统服务进行确定,具体方式已在上文进行详述,在此不再赘述。
第五步骤,在与所述待配置的域名对应的服务器中创建容器,并将创建的所述容器的访问端口设置为所述目标可用端口。其中,在创建容器之后,可以对该容器进行代理配置,并对该容器进行测试,以保证该容器创建成功,并且可以提供相应的服务。
通过上述技术方案,可以对域名和端口之间的对应关系进行配置,并且在与待配置的域名对应的服务器中创建对应的可提供服务的容器,并将创建的容器的访问端口设置为目标可用端口。因此,服务器可以通过该对应关系同步其本地的路由规则表,进而实现从域名至端口的流量路由,并且在配置后创建对应的容器,可以进一步提高访问请求的响应效率。
可选地,所述方法还包括:
在获得了所述待配置的域名与所述目标可用端口之间的对应关系之后,将该对应关系存储到分布式存储器中,以便所述目标服务器将所述分布式存储器中存储的对应关系同步到本地存储的所述路由规则表中。由此,既可以有效缓解存储压力,也可以有效分散对存储器的读写压力。
可选地,根据本公开提供的反向代理方法,该方法应用于服务器时,所述对应关系被存储在分布式存储器中;
则在所述根据本地存储的路由规则表,确定与所述访问请求的域名对应的目标端口的步骤21之前,所述方法还可以包括:
所述服务器通过路由代理进程,将存储在所述分布式存储器中的所述对应关系同步到所述路由规则表中。其中,所述路由代理进程可以间隔一同步时段进行对应关系的同步,该同步时段的时长可以根据实际使用场景进行设置。
如图3中所示,N表示分布式存储器,其包含存储器C、D、E,用于存储域名和端口的对应关系。因此,服务器中的路由代理进程在同步时,可以依次同步该各个存储器中的对应关系,以保证其路由规则表的实时性和准确性。
在上述技术方案中,将对应关系存储在分布式存储器中,可以有效缓解存储器的访问压力,从而提高存储器中对应关系的读写效率,并保证存储的准确性和安全性,进而提高反向代理的效率。
可选地,所述通过域名系统服务确定与访问请求的域名对应的目标服务器,可以包括:
通过所述域名系统服务,确定与所述访问请求的域名对应的服务器集群,如图3所示,其中,服务器A、B属于同一服务器集群,也称服务器簇。
根据负载均衡原则,从所述服务器集群的可用服务器中确定出所述目标服务器。
其中,可用服务器为所述服务器集群中可以ping通的服务器。作为示例,可以间隔预定时间检测服务器集群中的各个服务器是否可以ping通,从可用服务器中选择目标服务器,从而避免出现由于服务器未连接而导致的请求不能响应的问题。
例如,根据负载均衡原则,可以是根据各个可用服务器的cpu利用率,例如,在选择服务器集群中的目标服务器时,可以根据各个可用服务器的cpu利用率由低至高的顺序,将排名第一的服务器作为目标服务器,以保证服务器集群的资源利用均衡。又例如,可以根据每个服务器的容器利用率进行选择,容器利用率即服务器中提供服务的容器个数与该服务器中的容器总个数的比值,如将可用服务器中容器利用率最低的服务器确定为目标服务器,以保证服务器集群的流量均衡。又例如,也可以根据cpu利用率、存储器利用率以及容器利用率进行综合考量,通过对该三者进行加权求和,将和值最小的服务器确定为目标服务器。
通过上述技术方案,可以有效降低单点故障对反向代理系统的影响,同时也可以保证服务器集群中的资源、负载、流量均衡,进而保证反向代理系统的稳定性和健壮性,提高反向代理服务的效率。
本公开还提供一种反向代理装置,应用于服务器,如图4所示,所述装置10包括:
第一确定模块101,用于响应于接收到访问请求,根据本地存储的路由规则表,确定与所述访问请求的域名对应的目标端口,其中,所述路由规则表包括域名和端口之间的对应关系;以及
路由模块102,用于将所述访问请求路由至以所述目标端口为访问端口的容器,以由所述容器为所述访问请求提供服务。
可选地,所述对应关系被存储在分布式存储器中;
所述装置还包括:
路由代理进程,用于在所述第一确定模块根据本地存储的路由规则表,确定与所述访问请求的域名对应的目标端口之前,将存储在所述分布式存储器中的所述对应关系同步到所述路由规则表中。
本公开还提供一种反向代理装置,如图5所示,所述装置20包括:
第二确定模块201,用于响应于接收到访问请求,通过域名系统服务确定与访问请求的域名对应的目标服务器,所述目标服务器用于为所述访问请求提供服务;
发送模块202,用于将所述访问请求发送至所述目标服务器,以便所述目标服务器根据本地存储的路由规则表,确定与所述访问请求的域名对应的目标端口,其中,所述路由规则表包括域名和端口之间的对应关系;以及将所述访问请求路由至所述目标服务器中以所述目标端口为访问端口的容器,以由所述容器为所述访问请求提供服务。
可选地,所述装置还包括:
获取模块,用于获取待配置的域名;
查询模块,用于通过所述域名系统服务查询可用端口;
第三确定模块,用于根据查询到的可用端口,确定与所述待配置的域名对应的目标可用端口,以获得所述待配置的域名与所述目标可用端口之间的对应关系,其中,该对应关系被存储到所述路由规则表中;
第四确定模块,用于确定与所述待配置的域名对应的服务器;
设置模块,用于在与所述待配置的域名对应的服务器中创建容器,并将创建的所述容器的访问端口设置为所述目标可用端口。
可选地,所述装置还包括:
存储模块,用于在获得了所述待配置的域名与所述目标可用端口之间的对应关系之后,将该对应关系存储到分布式存储器中,以便所述目标服务器将所述分布式存储器中存储的对应关系同步到本地存储的所述路由规则表中。
可选地,所述第三确定模块用于:
若查询到的可用端口为一个,则将该可用端口确定为所述目标可用端口;
若查询到的可用端口为多个,则将多个所述可用端口中的任一个可用端口确定为所述目标可用端口。
可选地,所述第二确定模块包括:
第一确定子模块,用于通过所述域名系统服务,确定与所述访问请求的域名对应的服务器集群;
第二确定子模块,用于根据负载均衡原则,从所述服务器集群的可用服务器中确定出所述目标服务器。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
所述反向代理装置包括处理器和存储器,上述第一确定模块、路由模块、第二确定模块、发送模块等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来实现本公开提供的安全、健壮的反向代理方法。
本发明实施例提供了一种存储介质,其上存储有程序,该程序被处理器执行时实现所述反向代理方法。
本发明实施例提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行所述反向代理方法。
本发明实施例提供了一种设备,如图6所示,设备70包括至少一个处理器701、以及与处理器701连接的至少一个存储器702、总线703;其中,处理器701、存储器702通过总线703完成相互间的通信;处理器701用于调用存储器702中的程序指令,以执行上述的反向代理方法。本文中的设备可以是服务器、PC、手机、主控装置等其他终端设备等。
本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:
服务器响应于接收到访问请求,根据本地存储的路由规则表,确定与所述访问请求的域名对应的目标端口,其中,所述路由规则表包括域名和端口之间的对应关系;以及
将所述访问请求路由至以所述目标端口为访问端口的容器,以由所述容器为所述访问请求提供服务。
可选地,所述对应关系被存储在分布式存储器中;
在所述根据本地存储的路由规则表,确定与所述访问请求的域名对应的目标端口的步骤之前,所述方法还包括:
所述服务器通过路由代理进程,将存储在所述分布式存储器中的所述对应关系同步到所述路由规则表中。
另一实施例中,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:
响应于接收到访问请求,通过域名系统服务确定与访问请求的域名对应的目标服务器,所述目标服务器用于为所述访问请求提供服务;
将所述访问请求发送至所述目标服务器,以便所述目标服务器根据本地存储的路由规则表,确定与所述访问请求的域名对应的目标端口,其中,所述路由规则表包括域名和端口之间的对应关系;以及将所述访问请求路由至所述目标服务器中以所述目标端口为访问端口的容器,以由所述容器为所述访问请求提供服务。
可选地,所述方法还包括:
获取待配置的域名;
通过所述域名系统服务查询可用端口;
根据查询到的可用端口,确定与所述待配置的域名对应的目标可用端口,以获得所述待配置的域名与所述目标可用端口之间的对应关系,其中,该对应关系被存储到所述路由规则表中;
确定与所述待配置的域名对应的服务器;
在与所述待配置的域名对应的服务器中创建容器,并将创建的所述容器的访问端口设置为所述目标可用端口。
可选地,所述方法还包括:
在获得了所述待配置的域名与所述目标可用端口之间的对应关系之后,将该对应关系存储到分布式存储器中,以便所述目标服务器将所述分布式存储器中存储的对应关系同步到本地存储的所述路由规则表中。
可选地,所述根据查询到的可用端口,确定与所述待配置的域名对应的目标可用端口,包括:
若查询到的可用端口为一个,则将该可用端口确定为所述目标可用端口;
若查询到的可用端口为多个,则将多个所述可用端口中的任一个可用端口确定为所述目标可用端口。
可选地,所述通过域名系统服务确定与访问请求的域名对应的目标服务器,包括:
通过所述域名系统服务,确定与所述访问请求的域名对应的服务器集群;
根据负载均衡原则,从所述服务器集群的可用服务器中确定出所述目标服务器。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
在一个典型的配置中,设备包括一个或多个处理器(CPU)、存储器和总线。设备还可以包括输入/输出接口、网络接口等。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (10)

1.一种反向代理方法,其特征在于,所述方法包括:
服务器响应于接收到访问请求,根据本地存储的路由规则表,确定与所述访问请求的域名对应的目标端口,其中,所述路由规则表包括域名和端口之间的对应关系;以及
将所述访问请求路由至以所述目标端口为访问端口的容器,以由所述容器为所述访问请求提供服务。
2.根据权利要求1所述的方法,其特征在于,所述对应关系被存储在分布式存储器中;
在所述根据本地存储的路由规则表,确定与所述访问请求的域名对应的目标端口的步骤之前,所述方法还包括:
所述服务器通过路由代理进程,将存储在所述分布式存储器中的所述对应关系同步到所述路由规则表中。
3.一种反向代理方法,其特征在于,所述方法包括:
响应于接收到访问请求,通过域名系统服务确定与访问请求的域名对应的目标服务器,所述目标服务器用于为所述访问请求提供服务;
将所述访问请求发送至所述目标服务器,以便所述目标服务器根据本地存储的路由规则表,确定与所述访问请求的域名对应的目标端口,其中,所述路由规则表包括域名和端口之间的对应关系;以及将所述访问请求路由至所述目标服务器中以所述目标端口为访问端口的容器,以由所述容器为所述访问请求提供服务。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
获取待配置的域名;
通过所述域名系统服务查询可用端口;
根据查询到的可用端口,确定与所述待配置的域名对应的目标可用端口,以获得所述待配置的域名与所述目标可用端口之间的对应关系,其中,该对应关系被存储到所述路由规则表中;
确定与所述待配置的域名对应的服务器;
在与所述待配置的域名对应的服务器中创建容器,并将创建的所述容器的访问端口设置为所述目标可用端口。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
在获得了所述待配置的域名与所述目标可用端口之间的对应关系之后,将该对应关系存储到分布式存储器中,以便所述目标服务器将所述分布式存储器中存储的对应关系同步到本地存储的所述路由规则表中。
6.根据权利要求3所述的方法,其特征在于,所述通过域名系统服务确定与访问请求的域名对应的目标服务器,包括:
通过所述域名系统服务,确定与所述访问请求的域名对应的服务器集群;
根据负载均衡原则,从所述服务器集群的可用服务器中确定出所述目标服务器。
7.一种反向代理装置,其特征在于,应用于服务器,所述装置包括:
第一确定模块,用于响应于接收到访问请求,根据本地存储的路由规则表,确定与所述访问请求的域名对应的目标端口,其中,所述路由规则表包括域名和端口之间的对应关系;以及
路由模块,用于将所述访问请求路由至以所述目标端口为访问端口的容器,以由所述容器为所述访问请求提供服务。
8.一种反向代理装置,其特征在于,所述装置包括:
第二确定模块,用于响应于接收到访问请求,通过域名系统服务确定与访问请求的域名对应的目标服务器,所述目标服务器用于为所述访问请求提供服务;
发送模块,用于将所述访问请求发送至所述目标服务器,以便所述目标服务器根据本地存储的路由规则表,确定与所述访问请求的域名对应的目标端口,其中,所述路由规则表包括域名和端口之间的对应关系;以及将所述访问请求路由至所述目标服务器中以所述目标端口为访问端口的容器,以由所述容器为所述访问请求提供服务。
9.一种存储介质,其上存储有程序,其特征在于,该程序被处理器执行时实现权利要求1-6中任一项所述方法的步骤。
10.一种设备,其特征在于,所述设备包括:
至少一个处理器、以及与所述处理器连接的至少一个存储器、总线;
其中,所述处理器、所述存储器通过所述总线完成相互间的通信;
所述处理器用于调用所述存储器中的程序指令,以执行权利要求1-6中任一项所述方法的步骤。
CN201910883396.1A 2019-09-18 2019-09-18 反向代理方法、装置、存储介质及设备 Active CN112532666B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910883396.1A CN112532666B (zh) 2019-09-18 2019-09-18 反向代理方法、装置、存储介质及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910883396.1A CN112532666B (zh) 2019-09-18 2019-09-18 反向代理方法、装置、存储介质及设备

Publications (2)

Publication Number Publication Date
CN112532666A true CN112532666A (zh) 2021-03-19
CN112532666B CN112532666B (zh) 2024-06-21

Family

ID=74975190

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910883396.1A Active CN112532666B (zh) 2019-09-18 2019-09-18 反向代理方法、装置、存储介质及设备

Country Status (1)

Country Link
CN (1) CN112532666B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113542431A (zh) * 2021-08-02 2021-10-22 北京百度网讯科技有限公司 信息处理方法、装置、电子设备及存储介质
CN114827115A (zh) * 2022-06-01 2022-07-29 青岛中科曙光科技服务有限公司 容器内Web服务的访问方法、装置、电子设备及存储介质

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080046434A1 (en) * 2006-08-15 2008-02-21 Nelson Steven M Centralized management of technical records across an enterprise
US20080184357A1 (en) * 2007-01-25 2008-07-31 Drako Dean M Firewall based on domain names
CN102137014A (zh) * 2011-03-11 2011-07-27 华为技术有限公司 资源管理方法、系统和资源管理器
US20120079055A1 (en) * 2010-04-03 2012-03-29 Openwave Systems Inc. Reverse dns lookup with modified reverse mappings
CN103067417A (zh) * 2011-10-19 2013-04-24 华耀(中国)科技有限公司 VPN中安全代理的Web服务映射方法及其系统
CN106921699A (zh) * 2015-12-25 2017-07-04 北京奇虎科技有限公司 一种网络访问方法、装置和系统
CN106961469A (zh) * 2017-02-28 2017-07-18 北京致远互联软件股份有限公司 基于http代理服务器的无感知定向代理方法及系统
CN109714208A (zh) * 2018-12-29 2019-05-03 武汉市烽视威科技有限公司 一种设备纳入网管的方法、存储介质及电子设备
CN109743392A (zh) * 2019-01-07 2019-05-10 北京字节跳动网络技术有限公司 一种负载均衡方法、装置、电子设备及存储介质

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080046434A1 (en) * 2006-08-15 2008-02-21 Nelson Steven M Centralized management of technical records across an enterprise
US20080184357A1 (en) * 2007-01-25 2008-07-31 Drako Dean M Firewall based on domain names
US20120079055A1 (en) * 2010-04-03 2012-03-29 Openwave Systems Inc. Reverse dns lookup with modified reverse mappings
CN102137014A (zh) * 2011-03-11 2011-07-27 华为技术有限公司 资源管理方法、系统和资源管理器
CN103067417A (zh) * 2011-10-19 2013-04-24 华耀(中国)科技有限公司 VPN中安全代理的Web服务映射方法及其系统
CN106921699A (zh) * 2015-12-25 2017-07-04 北京奇虎科技有限公司 一种网络访问方法、装置和系统
CN106961469A (zh) * 2017-02-28 2017-07-18 北京致远互联软件股份有限公司 基于http代理服务器的无感知定向代理方法及系统
CN109714208A (zh) * 2018-12-29 2019-05-03 武汉市烽视威科技有限公司 一种设备纳入网管的方法、存储介质及电子设备
CN109743392A (zh) * 2019-01-07 2019-05-10 北京字节跳动网络技术有限公司 一种负载均衡方法、装置、电子设备及存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
曾玮;王丹;: "基于Spring Session及Redis的高校Web服务器会话保持技术研究", 实验室科学, no. 02 *
陈志鹏等人: "一种基于多维特征分析的网页代理服务发现方法", 《信息安全学报》, vol. 3, no. 4, 15 July 2018 (2018-07-15) *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113542431A (zh) * 2021-08-02 2021-10-22 北京百度网讯科技有限公司 信息处理方法、装置、电子设备及存储介质
CN113542431B (zh) * 2021-08-02 2024-05-10 北京百度网讯科技有限公司 信息处理方法、装置、电子设备及存储介质
CN114827115A (zh) * 2022-06-01 2022-07-29 青岛中科曙光科技服务有限公司 容器内Web服务的访问方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN112532666B (zh) 2024-06-21

Similar Documents

Publication Publication Date Title
CN108370391B (zh) 用于虚拟网络的共享多租户域名系统(dns)服务器
CN109032755B (zh) 一种容器服务托管系统及提供容器服务的方法
CN107196982B (zh) 一种用户请求的处理方法和装置
CN111314472B (zh) 域名解析方法、域名解析服务器及终端设备
CN110647559B (zh) 数据处理方法、相关节点及系统
US20140006577A1 (en) Virtual domain name system
CN115269184A (zh) 函数即服务(faas)执行分配器
CN108124020B (zh) 域名解析方法、系统及设备
CN111124589B (zh) 一种服务发现系统、方法、装置及设备
CN107105013B (zh) 文件的处理方法、服务器、终端和系统
CN110730250B (zh) 信息处理方法及装置、服务系统、存储介质
CN107172214B (zh) 一种具有负载均衡的服务节点发现方法及装置
CN107135242B (zh) Mongodb集群访问方法、装置及系统
CN105045762A (zh) 一种配置文件的管理方法及装置
CN112532666B (zh) 反向代理方法、装置、存储介质及设备
CN113301079B (zh) 一种数据的获取方法、系统、计算设备及存储介质
IL268670A (en) Automatic detection of server clusters
US20110153826A1 (en) Fault tolerant and scalable load distribution of resources
CN104092751A (zh) 一种业务访问方法和设备
CN107277126B (zh) 一种云计算资源管理方法及装置
CN113301173A (zh) 域名更新系统及方法、消息转发方法、服务器
CN113992657B (zh) 一种基于云平台的共享存储的搭建方法、设备及介质
CA2986758C (en) Systems and methods for server failover and load balancing
US11652746B1 (en) Resilient consistent hashing for a distributed cache
CN115004657B (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