CN106961469A - 基于http代理服务器的无感知定向代理方法及*** - Google Patents

基于http代理服务器的无感知定向代理方法及*** Download PDF

Info

Publication number
CN106961469A
CN106961469A CN201710113651.5A CN201710113651A CN106961469A CN 106961469 A CN106961469 A CN 106961469A CN 201710113651 A CN201710113651 A CN 201710113651A CN 106961469 A CN106961469 A CN 106961469A
Authority
CN
China
Prior art keywords
server
end server
access request
user
orientation
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.)
Pending
Application number
CN201710113651.5A
Other languages
English (en)
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 Zhiyuan Internet Software Ltd By Share Ltd
Original Assignee
Beijing Zhiyuan Internet Software Ltd By Share 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 Zhiyuan Internet Software Ltd By Share Ltd filed Critical Beijing Zhiyuan Internet Software Ltd By Share Ltd
Priority to CN201710113651.5A priority Critical patent/CN106961469A/zh
Publication of CN106961469A publication Critical patent/CN106961469A/zh
Pending legal-status Critical Current

Links

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
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明提供一种基于http代理服务器的无感知定向代理方法及***,所述方法包括:首先接收客户端发送的由用户发起的访问请求;根据所述访问请求确定所述用户请求访问的后端服务器的前端标识;在预设的路由表中查询与所述前端标识对应的后端服务器的路径;按照所述路径将所述访问请求转发至所述后端服务器。相较于现有技术,本发明使用路由表建立前端标识和后端服务器的关联,使用户根据前端标识即可访问相应的后端服务器,在新增后端服务器的时候,只需要修改路由表即可,不需要新增二级域名,也不需要额外增加服务器配置,从而能够保持对外URL的统一,在用户感知不到的情况下实现后端服务器的增加,同时能够有效地节约域名。

Description

基于http代理服务器的无感知定向代理方法及***
技术领域
本发明涉及互联网技术领域,具体涉及一种基于http代理服务器的无感知定向代理方法及***。
背景技术
在传统软件进行SaaS(英文全称:Software-as-a-Service,中文释义为:软件即服务)化的过程中,存在这样的场景:后端***存在很多具有相同服务,但提供给不同用户使用的***,不同的用户在登陆用户管理***后,需要将用户请求转发到指定后端业务***的server中去。
传统的做法是:每个定向的后端服务使用一个二级域名进行单独代理,以便代理服务器(如Nginx、Squid、Apache Traffic Server等)区分upstream。
这样的做法,在每新增一个后端服务的时候需要新增一个二级域名代理和一个服务器配置,而域名的改变非常影响用户的使用体验。
发明内容
针对现有技术中的缺陷,本发明提供一种基于http代理服务器的无感知定向代理方法及***。
第一方面,本发明提供的一种基于http代理服务器的无感知定向代理方法,包括:
接收客户端发送的由用户发起的访问请求;
根据所述访问请求确定所述用户请求访问的后端服务器的前端标识;
在预设的路由表中查询与所述前端标识对应的后端服务器的路径;
按照所述路径将所述访问请求转发至所述后端服务器。
可选的,在所述在预设的路由表中查询与所述前端标识对应的后端服务器的路径的步骤前,还包括:
预先通过配置定向upstream建立各前端标识与各后端服务器的路径的路由表,其中,各后端服务器属于同一个服务器集群。
可选的,在所述服务器集群中新增后端服务器后,通过在所述路由表中添加新增的所述后端服务器的路径和对应的前端标识,启用新增的所述后端服务器。
可选的,所述根据所述访问请求确定所述用户请求访问的后端服务器的前端标识,包括:
根据所述访问请求判断所述用户是否为新注册用户;
若是,则根据当前服务器集群中各后端服务器的负载情况,从所述服务器集群中选择一台后端服务器分配给所述用户,根据预设的路由表确定选择的所述后端服务器对应的前端标识,并将选择的所述后端服务器对应的前端标识写入cookies,然后将所述cookies发送至所述客户端;
若否,则从所述访问请求中解析获得所述用户请求访问的后端服务器的前端标识。
可选的,在所述从所述访问请求中解析获得所述用户请求访问的后端服务器的前端标识的步骤后,还包括:
判断从访问请求中解析获得的所述前端标识与从所述客户端中存储的cookies中解析获得的前端标识是否一致;
若否,则将从访问请求中解析获得的所述前端标识写入到所述cookies,然后将所述cookies发送至所述客户端。
第二方面,本发明提供一种基于http代理服务器的无感知定向代理***,包括:
访问请求接收模块,用于接收客户端发送的由用户发起的访问请求;
前端标识确定模块,用于根据所述访问请求确定所述用户请求访问的后端服务器的前端标识;
服务器路径确定模块,用于在预设的路由表中查询与所述前端标识对应的后端服务器的路径;
请求转发模块,用于按照所述路径将所述访问请求转发至所述后端服务器。
可选的,所述基于http代理服务器的无感知定向代理***,还包括:
路由表建立模块,用于预先通过配置定向upstream建立各前端标识与各后端服务器的路径的路由表,其中,各后端服务器属于同一个服务器集群。
可选的,所述基于http代理服务器的无感知定向代理***,还包括:
路由表修改模块,用于在所述服务器集群中新增后端服务器后,通过在所述路由表中添加新增的所述后端服务器的路径和对应的前端标识,启用新增的所述后端服务器。
可选的,所述前端标识确定模块,包括:
新注册用户判断单元,用于根据所述访问请求判断所述用户是否为新注册用户;
新注册用户处理单元,用于若所述新注册用户判断单元的判断结果为是,则根据当前服务器集群中各后端服务器的负载情况,从所述服务器集群中选择一台后端服务器分配给所述用户,根据预设的路由表确定选择的所述后端服务器对应的前端标识,并将选择的所述后端服务器对应的前端标识写入cookies,然后将所述cookies发送至所述客户端;
非新注册用户处理单元,用于若所述新注册用户判断单元的判断结果为否,则从所述访问请求中解析获得所述用户请求访问的后端服务器的前端标识。
可选的,所述基于http代理服务器的无感知定向代理***,还包括:
标识一致性判断单元,用于判断从访问请求中解析获得的所述前端标识与从所述客户端中存储的cookies中解析获得的前端标识是否一致;
回写单元,用于若所述标识一致性判断单元的判断结果为否,则将从访问请求中解析获得的所述前端标识写入到所述cookies,然后将所述cookies发送至所述客户端。
由上述技术方案可知,本发明提供的一种基于http代理服务器的无感知定向代理方法,首先接收客户端发送的由用户发起的访问请求;根据所述访问请求确定所述用户请求访问的后端服务器的前端标识;在预设的路由表中查询与所述前端标识对应的后端服务器的路径;按照所述路径将所述访问请求转发至所述后端服务器。相较于现有技术,本发明摒弃了采用二级域名进行定向映射的方式,而是使用路由表建立前端标识和后端服务器的关联,从而使用户根据前端标识即可访问相应的后端服务器,如此,在新增后端服务器的时候,只需要修改路由表即可,不需要新增二级域名,也不需要额外增加服务器配置,从而能够保持对外URL的统一,在用户感知不到的情况下实现后端服务器的增加,同时能够有效地节约域名,另外,更改路由表相较于增加二级域名及服务器配置的方式更加简单、灵活,便于后期扩展。
本发明提供的一种基于http代理服务器的无感知定向代理***,与上述基于http代理服务器的无感知定向代理方法出于相同的发明构思,具有相同的有益效果。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍。
图1示出了本发明第一实施例所提供的一种基于http代理服务器的无感知定向代理方法的流程图;
图2示出了本发明提供的一个具体实施例中Nginx处理请求的流程图;
图3示出了本发明第二实施例所提供的一种基于http代理服务器的无感知定向代理***的示意图。
具体实施方式
下面将结合附图对本发明技术方案的实施例进行详细的描述。以下实施例仅用于更加清楚地说明本发明的技术方案,因此只是作为示例,而不能以此来限制本发明的保护范围。
需要注意的是,除非另有说明,本申请使用的技术术语或者科学术语应当为本发明所属领域技术人员所理解的通常意义。
本发明提供一种基于http代理服务器的无感知定向代理方法和***。下面结合附图对本发明的实施例进行说明。
图1示出了本发明第一实施例所提供的一种基于http代理服务器的无感知定向代理方法的流程图。如图1所示,本发明第一实施例提供的一种基于http代理服务器的无感知定向代理方法包括以下步骤:
步骤S101:接收客户端发送的由用户发起的访问请求。
本发明第一实施例可以基于以下网络构架实施:SaaS软件***配置在服务器集群上,该服务器集群包括多台后端服务器,每台后端服务器在集群内有各自的内网路径,而整个服务器集群对外的域名是唯一的,并通过代理服务器(如Nginx、Squid、Apache TrafficServer等)与外部网络中的用户进行交互。本发明第一实施例以Nginx(Nginx是一款轻量级的Web服务器/反向代理服务器)为例进行说明,现有技术中Nginx主要起到负载均衡的功能,由于负载均衡主要是根据后端服务器的负载情况分配用户的访问流量,用户的访问请求可能会根据负载均衡条件分配到任意一台后端服务器上,而由于用户在使用SaaS软件时往往生成一些私有化数据保存在后端服务器中,因此,若只是依赖于负载均衡,同一个用户前后两次登陆有可能会被分配到不同的后端服务器中,若是不同的后端服务器,用户在后一次登陆时无法调取前一次登陆时保存的私有化数据,这样显然是不符合要求的,虽然现有技术中通过设置二级域名的方式实现了Nginx的定向路由,但现有技术设置较为复杂,且需要较多的二级域名支持,比较浪费域名,且对用户而言体验并不好。因此,本发明第一实施例提供的技术方案的目的之一就是采用更为简单的方式实现代理服务器的定向路由功能。
需要说明的是,本发明第一实施例以Nginx代理服务器举例进行说明,但本发明提供的所述基于http代理服务器的无感知定向代理方法并不限于Nginx,在实际应用中还可以用于squid、Apache Traffic Server等基于http的代理服务器,其均在本发明的保护范围之内。
本步骤S101中,用户通过客户端访问SaaS软件***,客户端即向Nginx发送访问请求,其中,所述客户端一般是指浏览器或该SaaS软件***专用的客户端软件,所述访问请求可以是登陆请求、注册请求或者数据查询请求、上传、下载等等,其均适用于该第一实施例提供的技术方案,均在本申请的保护范围之内。
步骤S102:根据所述访问请求确定所述用户请求访问的后端服务器的前端标识。
Nginx在接收到访问请求后,即可根据所述访问请求确定对应的后端服务器的前端标识,具体可以根据访问请求的内容有多种可行的实施方式,例如:
首先,根据所述访问请求判断所述用户是否为新注册用户,具体可以采用根据所述访问请求中是否含有注册信息以及用户数据库中是否有该用户的信息等方式判断该用户是否为新注册用户;
若是新注册用户,那么所有的后端服务器上都不会有该用户之前的私有化数据,则根据当前服务器集群中各后端服务器的负载情况,从所述服务器集群中选择一台后端服务器分配给所述用户,在Nginx上预先设置一路由表,路由表中记载有该后端服务器对应的前端标识,那么,可以根据预设的路由表确定选择的所述后端服务器对应的前端标识;为了便于该用户后续更方便的访问,还可以将选择的所述后端服务器对应的前端标识写入cookies,然后将所述cookies发送至所述客户端;
若否,则所述访问请求中应该携带有该用户上一次登陆的后端服务器的前端标识,那么,直接从所述访问请求中解析获得所述用户请求访问的后端服务器的前端标识。
需要说明的是,本发明第一实施例中所述的前端标识,可以是后端服务器的代码、名称等唯一性标识,主要用于识别不同的后端服务器。本发明第一实施例中使用前端标识而不是后端服务器的内网路径与客户端进行交互,一方面可以简化数据量,另一方面可以保护服务器内部隐私。
步骤S103:在预设的路由表中查询与所述前端标识对应的后端服务器的路径。
本发明第一实施例中,预先在Nginx上设置有路由表,路由表记载有服务器集群中各后端服务器的路径与各前端标识的对应关系。例如,在本发明提供的一个实施例中,在所述在预设的路由表中查询与所述前端标识对应的后端服务器的路径的步骤前,还包括:
预先通过配置定向upstream建立各前端标识与各后端服务器的路径的路由表,其中,各后端服务器属于同一个服务器集群。
配置定向upstream的示例代码如下:
示例中,oppkma、kiftop为不同的两台后端服务器的名称,即前端标识,server10.44.176.48:8086和server 10.44.29.237:8084为上述两台后端服务器对应的路径。
本发明第一实施例提供的上述配置定向upstream的方法编辑简单、修改灵活,例如,在所述服务器集群中新增后端服务器后,通过在所述路由表中添加新增的所述后端服务器的路径和对应的前端标识,即可启用新增的所述后端服务器。另外,若需要对后端服务器进行维护、升级、替换等,也可以将旧后端服务器的用户数据拷贝到新后端服务器中,然后,直接在路由表中使用新后端服务器的路径替换旧后端服务器的路径,即可将旧后端服务器替换下来进行维护、升级等,当然,若新后端服务器相对于旧后端服务器已经进行了升级,那么替换的过程就是升级的过程,综上,采用本发明第一实施例提供的上述方法,可以在用户感知不到的情况下完成对后端服务器的维护、升级等。
步骤S104:按照所述路径将所述访问请求转发至所述后端服务器。
考虑到使用cookies可以更加方便客户端与后端服务器的数据交互,在本发明提供的一个实施例中,在用户登陆后,后端服务器也会生成cookies发送给客户端,该cookies中包含有用户访问的后端服务器的前端标识。
考虑到可能会有多个用户使用同一个客户端进行访问,那么前一个用户登陆后留下的cookies不再适用于后一个用户,那么在后一个用户登陆后,需要对该客户端的cookies进行回写,以保证cookies与用户的一致性,避免cookies错误给后续访问产生误导,具体实施方式可以是:
在所述从所述访问请求中解析获得所述用户请求访问的后端服务器的前端标识的步骤后,判断从访问请求中解析获得的所述前端标识与从所述客户端中存储的cookies中解析获得的前端标识是否一致;
若否,则将从访问请求中解析获得的所述前端标识写入到所述cookies,然后将所述cookies发送至所述客户端。
至此,通过步骤S101至步骤S104,完成了本发明第一实施例所提供的一种基于http代理服务器的无感知定向代理方法的流程。相较于现有技术,本发明摒弃了采用二级域名进行定向映射的方式,而是使用路由表建立前端标识和后端服务器的关联,从而使用户根据前端标识即可访问相应的后端服务器,如此,在新增后端服务器的时候,只需要修改路由表即可,不需要新增二级域名,也不需要额外增加服务器配置,从而能够保持对外URL的统一,在用户感知不到的情况下实现后端服务器的增加,同时能够有效地节约域名,另外,更改路由表相较于增加二级域名及服务器配置的方式更加简单、灵活,便于后期扩展。
请参考图2,其为本发明提供的一个具体实施例中Nginx处理请求的流程图,可以结合上述第一实施例进行理解,该图2主要从代码逻辑方面描述了Nginx处理访问请求的流程,此处不再一一进行文字赘述,请参考附图2进行理解。其中,_point表示前端标识,判断_point为空的步骤主要是检测非法请求,以避免非法请求对SaaS软件***造成扰乱,对整个***起到加固的作用。
在上述的第一实施例中,提供了一种基于http代理服务器的无感知定向代理方法,与之相对应的,本申请还提供一种基于http代理服务器的无感知定向代理***。请参考图3,其为本发明第二实施例提供的一种基于http代理服务器的无感知定向代理***的示意图。由于***实施例基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。下述描述的***实施例仅仅是示意性的。
本发明第二实施例提供的一种基于http代理服务器的无感知定向代理***,包括:
访问请求接收模块101,用于接收客户端发送的由用户发起的访问请求;
前端标识确定模块102,用于根据所述访问请求确定所述用户请求访问的后端服务器的前端标识;
服务器路径确定模块103,用于在预设的路由表中查询与所述前端标识对应的后端服务器的路径;
请求转发模块104,用于按照所述路径将所述访问请求转发至所述后端服务器。
在本发明提供的一个实施例中,所述基于http代理服务器的无感知定向代理***,还包括:
路由表建立模块,用于预先通过配置定向upstream建立各前端标识与各后端服务器的路径的路由表,其中,各后端服务器属于同一个服务器集群。
在本发明提供的一个实施例中,所述基于http代理服务器的无感知定向代理***,还包括:
路由表修改模块,用于在所述服务器集群中新增后端服务器后,通过在所述路由表中添加新增的所述后端服务器的路径和对应的前端标识,启用新增的所述后端服务器。
在本发明提供的一个实施例中,所述前端标识确定模块102,包括:
新注册用户判断单元,用于根据所述访问请求判断所述用户是否为新注册用户;
新注册用户处理单元,用于若所述新注册用户判断单元的判断结果为是,则根据当前服务器集群中各后端服务器的负载情况,从所述服务器集群中选择一台后端服务器分配给所述用户,根据预设的路由表确定选择的所述后端服务器对应的前端标识,并将选择的所述后端服务器对应的前端标识写入cookies,然后将所述cookies发送至所述客户端;
非新注册用户处理单元,用于若所述新注册用户判断单元的判断结果为否,则从所述访问请求中解析获得所述用户请求访问的后端服务器的前端标识。
在本发明提供的一个实施例中,所述基于http代理服务器的无感知定向代理***,还包括:
标识一致性判断单元,用于判断从访问请求中解析获得的所述前端标识与从所述客户端中存储的cookies中解析获得的前端标识是否一致;
回写单元,用于若所述标识一致性判断单元的判断结果为否,则将从访问请求中解析获得的所述前端标识写入到所述cookies,然后将所述cookies发送至所述客户端。
以上,为本发明第二实施例提供的一种基于http代理服务器的无感知定向代理***的实施例说明。
本发明提供的一种基于http代理服务器的无感知定向代理***与上述基于http代理服务器的无感知定向代理方法出于相同的发明构思,具有相同的有益效果,此处不再赘述。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
需要说明的是,附图中的流程图和框图显示了根据本发明的多个实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
本发明实施例所提供的基于http代理服务器的无感知定向代理***可以是计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***、***和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的***、***和方法,可以通过其它的方式实现。以上所描述的***实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,***或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围,其均应涵盖在本发明的权利要求和说明书的范围当中。

Claims (10)

1.一种基于http代理服务器的无感知定向代理方法,其特征在于,包括:
接收客户端发送的由用户发起的访问请求;
根据所述访问请求确定所述用户请求访问的后端服务器的前端标识;
在预设的路由表中查询与所述前端标识对应的后端服务器的路径;
按照所述路径将所述访问请求转发至所述后端服务器。
2.根据权利要求1所述的基于http代理服务器的无感知定向代理方法,其特征在于,在所述在预设的路由表中查询与所述前端标识对应的后端服务器的路径的步骤前,还包括:
预先通过配置定向upstream建立各前端标识与各后端服务器的路径的路由表,其中,各后端服务器属于同一个服务器集群。
3.根据权利要求2所述的基于http代理服务器的无感知定向代理方法,其特征在于,在所述服务器集群中新增后端服务器后,通过在所述路由表中添加新增的所述后端服务器的路径和对应的前端标识,启用新增的所述后端服务器。
4.根据权利要求1所述的基于http代理服务器的无感知定向代理方法,其特征在于,所述根据所述访问请求确定所述用户请求访问的后端服务器的前端标识,包括:
根据所述访问请求判断所述用户是否为新注册用户;
若是,则根据当前服务器集群中各后端服务器的负载情况,从所述服务器集群中选择一台后端服务器分配给所述用户,根据预设的路由表确定选择的所述后端服务器对应的前端标识,并将选择的所述后端服务器对应的前端标识写入cookies,然后将所述cookies发送至所述客户端;
若否,则从所述访问请求中解析获得所述用户请求访问的后端服务器的前端标识。
5.根据权利要求4所述的基于http代理服务器的无感知定向代理方法,其特征在于,在所述从所述访问请求中解析获得所述用户请求访问的后端服务器的前端标识的步骤后,还包括:
判断从访问请求中解析获得的所述前端标识与从所述客户端中存储的cookies中解析获得的前端标识是否一致;
若否,则将从访问请求中解析获得的所述前端标识写入到所述cookies,然后将所述cookies发送至所述客户端。
6.一种基于http代理服务器的无感知定向代理***,其特征在于,包括:
访问请求接收模块,用于接收客户端发送的由用户发起的访问请求;
前端标识确定模块,用于根据所述访问请求确定所述用户请求访问的后端服务器的前端标识;
服务器路径确定模块,用于在预设的路由表中查询与所述前端标识对应的后端服务器的路径;
请求转发模块,用于按照所述路径将所述访问请求转发至所述后端服务器。
7.根据权利要求6所述的基于http代理服务器的无感知定向代理***,其特征在于,还包括:
路由表建立模块,用于预先通过配置定向upstream建立各前端标识与各后端服务器的路径的路由表,其中,各后端服务器属于同一个服务器集群。
8.根据权利要求7所述的基于http代理服务器的无感知定向代理***,其特征在于,还包括:
路由表修改模块,用于在所述服务器集群中新增后端服务器后,通过在所述路由表中添加新增的所述后端服务器的路径和对应的前端标识,启用新增的所述后端服务器。
9.根据权利要求6所述的基于http代理服务器的无感知定向代理***,其特征在于,所述前端标识确定模块,包括:
新注册用户判断单元,用于根据所述访问请求判断所述用户是否为新注册用户;
新注册用户处理单元,用于若所述新注册用户判断单元的判断结果为是,则根据当前服务器集群中各后端服务器的负载情况,从所述服务器集群中选择一台后端服务器分配给所述用户,根据预设的路由表确定选择的所述后端服务器对应的前端标识,并将选择的所述后端服务器对应的前端标识写入cookies,然后将所述cookies发送至所述客户端;
非新注册用户处理单元,用于若所述新注册用户判断单元的判断结果为否,则从所述访问请求中解析获得所述用户请求访问的后端服务器的前端标识。
10.根据权利要求9所述的基于http代理服务器的无感知定向代理***,其特征在于,还包括:
标识一致性判断单元,用于判断从访问请求中解析获得的所述前端标识与从所述客户端中存储的cookies中解析获得的前端标识是否一致;
回写单元,用于若所述标识一致性判断单元的判断结果为否,则将从访问请求中解析获得的所述前端标识写入到所述cookies,然后将所述cookies发送至所述客户端。
CN201710113651.5A 2017-02-28 2017-02-28 基于http代理服务器的无感知定向代理方法及*** Pending CN106961469A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710113651.5A CN106961469A (zh) 2017-02-28 2017-02-28 基于http代理服务器的无感知定向代理方法及***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710113651.5A CN106961469A (zh) 2017-02-28 2017-02-28 基于http代理服务器的无感知定向代理方法及***

Publications (1)

Publication Number Publication Date
CN106961469A true CN106961469A (zh) 2017-07-18

Family

ID=59469999

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710113651.5A Pending CN106961469A (zh) 2017-02-28 2017-02-28 基于http代理服务器的无感知定向代理方法及***

Country Status (1)

Country Link
CN (1) CN106961469A (zh)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107635010A (zh) * 2017-10-13 2018-01-26 网易(杭州)网络有限公司 流量调度方法、装置、计算机可读存储介质及电子设备
CN108377274A (zh) * 2018-02-09 2018-08-07 弘成科技发展有限公司 基于SaaS的可配置动态域名处理引擎及处理方法
CN109088764A (zh) * 2018-08-15 2018-12-25 郑州悉知信息科技股份有限公司 访问请求处理方法及相关设备
CN109309728A (zh) * 2018-10-26 2019-02-05 金蝶软件(中国)有限公司 一种数据处理方法以及相关装置
CN109388425A (zh) * 2018-08-17 2019-02-26 东莞数汇大数据有限公司 一种前端工程的接口切换方法、***、装置和存储介质
CN109672711A (zh) * 2017-10-17 2019-04-23 航天信息股份有限公司 一种基于反向代理服务器 Nginx 的http 请求处理方法及***
CN109871498A (zh) * 2018-12-15 2019-06-11 中国平安人寿保险股份有限公司 后端接口响应方法、装置、电子设备及存储介质
CN110266802A (zh) * 2019-06-24 2019-09-20 深圳市网心科技有限公司 基于id识别的反向代理服务方法、服务器、***及介质
CN111212154A (zh) * 2019-12-31 2020-05-29 瑞庭网络技术(上海)有限公司 服务绑定方法、装置、终端、服务器和存储介质
CN112532666A (zh) * 2019-09-18 2021-03-19 北京国双科技有限公司 反向代理方法、装置、存储介质及设备
CN113569172A (zh) * 2020-04-29 2021-10-29 北京金山云网络技术有限公司 数据交互方法、装置以及数据服务平台
CN113761400A (zh) * 2020-06-01 2021-12-07 支付宝(杭州)信息技术有限公司 一种访问请求转发方法、装置及设备
CN114449039A (zh) * 2021-12-27 2022-05-06 北京致远互联软件股份有限公司 一种多组织应用独立部署与服务路由的方法
CN118018604A (zh) * 2024-04-09 2024-05-10 创意信息技术股份有限公司 一种云边一体化的反向代理方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102739820A (zh) * 2012-06-28 2012-10-17 杭州华三通信技术有限公司 报文的网络地址转换处理方法和网络设备
CN103503419A (zh) * 2011-03-11 2014-01-08 高通股份有限公司 使用网页代理服务器访问具有分配的网络地址的设备的***和方法
CN103873497A (zh) * 2012-12-11 2014-06-18 中国电信股份有限公司 用于调度信息的方法、装置和***
CN104320344A (zh) * 2014-10-28 2015-01-28 浪潮电子信息产业股份有限公司 一种基于Nginx实现动态应用集群的方法
CN106357593A (zh) * 2015-07-17 2017-01-25 华为软件技术有限公司 访问请求处理方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103503419A (zh) * 2011-03-11 2014-01-08 高通股份有限公司 使用网页代理服务器访问具有分配的网络地址的设备的***和方法
CN102739820A (zh) * 2012-06-28 2012-10-17 杭州华三通信技术有限公司 报文的网络地址转换处理方法和网络设备
CN103873497A (zh) * 2012-12-11 2014-06-18 中国电信股份有限公司 用于调度信息的方法、装置和***
CN104320344A (zh) * 2014-10-28 2015-01-28 浪潮电子信息产业股份有限公司 一种基于Nginx实现动态应用集群的方法
CN106357593A (zh) * 2015-07-17 2017-01-25 华为软件技术有限公司 访问请求处理方法及装置

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107635010A (zh) * 2017-10-13 2018-01-26 网易(杭州)网络有限公司 流量调度方法、装置、计算机可读存储介质及电子设备
CN109672711A (zh) * 2017-10-17 2019-04-23 航天信息股份有限公司 一种基于反向代理服务器 Nginx 的http 请求处理方法及***
CN109672711B (zh) * 2017-10-17 2021-08-06 航天信息股份有限公司 一种基于反向代理服务器Nginx的http请求处理方法及***
CN108377274A (zh) * 2018-02-09 2018-08-07 弘成科技发展有限公司 基于SaaS的可配置动态域名处理引擎及处理方法
CN109088764A (zh) * 2018-08-15 2018-12-25 郑州悉知信息科技股份有限公司 访问请求处理方法及相关设备
CN109388425A (zh) * 2018-08-17 2019-02-26 东莞数汇大数据有限公司 一种前端工程的接口切换方法、***、装置和存储介质
CN109388425B (zh) * 2018-08-17 2021-08-31 东莞数汇大数据有限公司 一种前端工程的接口切换方法、***、装置和存储介质
CN109309728A (zh) * 2018-10-26 2019-02-05 金蝶软件(中国)有限公司 一种数据处理方法以及相关装置
CN109871498A (zh) * 2018-12-15 2019-06-11 中国平安人寿保险股份有限公司 后端接口响应方法、装置、电子设备及存储介质
CN109871498B (zh) * 2018-12-15 2024-04-02 中国平安人寿保险股份有限公司 后端接口响应方法、装置、电子设备及存储介质
CN110266802A (zh) * 2019-06-24 2019-09-20 深圳市网心科技有限公司 基于id识别的反向代理服务方法、服务器、***及介质
CN112532666A (zh) * 2019-09-18 2021-03-19 北京国双科技有限公司 反向代理方法、装置、存储介质及设备
CN112532666B (zh) * 2019-09-18 2024-06-21 北京国双科技有限公司 反向代理方法、装置、存储介质及设备
CN111212154A (zh) * 2019-12-31 2020-05-29 瑞庭网络技术(上海)有限公司 服务绑定方法、装置、终端、服务器和存储介质
CN111212154B (zh) * 2019-12-31 2022-06-21 瑞庭网络技术(上海)有限公司 服务绑定方法、装置、终端、服务器和存储介质
CN113569172A (zh) * 2020-04-29 2021-10-29 北京金山云网络技术有限公司 数据交互方法、装置以及数据服务平台
CN113761400A (zh) * 2020-06-01 2021-12-07 支付宝(杭州)信息技术有限公司 一种访问请求转发方法、装置及设备
CN114449039A (zh) * 2021-12-27 2022-05-06 北京致远互联软件股份有限公司 一种多组织应用独立部署与服务路由的方法
CN118018604A (zh) * 2024-04-09 2024-05-10 创意信息技术股份有限公司 一种云边一体化的反向代理方法及装置

Similar Documents

Publication Publication Date Title
CN106961469A (zh) 基于http代理服务器的无感知定向代理方法及***
CN104871133B (zh) 基于服务器健康以及客户端信息的应用智能请求管理
CN105338026B (zh) 数据资源的获取方法、装置和***
CN105763628B (zh) 数据访问请求处理方法及装置、边缘节点服务器和集群
CN101883103B (zh) 云数据中心内Web服务器群架构的客户端侧扩展的方法和***
CN103841134B (zh) 基于api发送、接收信息的方法、装置及***
EP2932693B1 (en) Exchange of server status and client information through headers for request management and load balancing
CN109871224A (zh) 一种基于用户标识的灰度发布方法、***、介质及设备
US7090749B2 (en) Method and apparatus for simulating application workloads on an e-business application server
CN105897850A (zh) 用于cdn平台的响应处理方法、调度代理服务器及***
CN104391868B (zh) 动态页面静态化的装置和方法
CN108989430B (zh) 负载均衡方法、装置及存储介质
CN104640114B (zh) 一种访问请求的验证方法及装置
CN108052615A (zh) 访问请求的处理方法、装置、介质及电子设备
CN107104814A (zh) 软件升级方法和***
CN105898352A (zh) 基于m3u8的流媒体文件直播方法及***
CN103139137B (zh) 网络服务提供方法及装置
KR20100057831A (ko) 컨텍스트-센시티브 리퀘스트 결과들의 클라이언트측 취합
CN112131504B (zh) 一种网页编辑、展示方法、装置、设备以及存储介质
CN107347015A (zh) 一种内容分发网络的识别方法、装置及***
US20180343179A1 (en) Method and device to transfer to a virtual browser session based on responsiveness
CN106169963A (zh) 服务页面的访问方法及***、代理服务器
CN109151025A (zh) 基于url的负载均衡方法、装置、计算机存储介质及设备
CN105260447A (zh) 一种网页数据分析方法及***
CN105391774B (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20170718

RJ01 Rejection of invention patent application after publication