CN107222561A - 一种传输层反向代理方法 - Google Patents
一种传输层反向代理方法 Download PDFInfo
- Publication number
- CN107222561A CN107222561A CN201710532432.0A CN201710532432A CN107222561A CN 107222561 A CN107222561 A CN 107222561A CN 201710532432 A CN201710532432 A CN 201710532432A CN 107222561 A CN107222561 A CN 107222561A
- Authority
- CN
- China
- Prior art keywords
- reverse proxy
- service
- transport layer
- user
- proxy method
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明提出了一种传输层反向代理方法,包括如下步骤:反向代理服务器接收用户的服务请求数据;通过规则库中设定的规则,判断用户所请求服务的协议类型;根据判断结果,转发数据到对应的业务服务器。反向代理服务器通过开放单个或相对较少数量的端口,就能够支持多种网络协议的传输,降低了用户的部署成本,提高了用户服务的响应便捷性。
Description
技术领域
本发明涉及一种反向代理方法,特别是一种传输层反向代理方法。
背景技术
HTTP协议(HyperText Transfer Protocol,超文本传输协议)是客户端浏览器或其他程序与Web服务器之间的应用层通信协议。HTTP包含命令和传输信息,不仅可用于Web访问,也可以用于其他因特网/内联网应用系统之间的通信,从而实现各类应用资源超媒体访问的集成。HTTPS(全称:Hyper Text Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,即HTTP下加入SSL层。
反向代理(Reverse Proxy),是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。
目前在服务器领域,HTTP/HTTPS反向代理已经使用广泛,比如nginx、squid等,利用不同的http请求头进行协议的转发,交给后端的其他服务处理。
一般来说,用户侧计算机和服务器端为http开放80端口(https对应443端口),用户计算机通过访问外网的80端口,实现网页浏览等Web访问等。此外,常见的还有20/21端口,用于默认监听FTP协议,22端口用于默认监听SSH协议,等。
反向代理对于TCP协议的支持目前暂无较好方式,举例来说,nginx的解决方案是通过新设端口,将发往这一端口的数据全部转发给对应的TCP后端服务,这就是说,如果后端存在多种服务类型,那么则需要相应的对外映射同样数量的端口。对外更多端口,对服务器侧来说,较易实现,但对于用户侧来说,如果该用户所在的内部网络对外实行网管控制,仅允许特定端口的访问,则意味着用户仅能使用计算机实现部分服务,如仅允许访问80端口,则用户则只能进行浏览网页等有限的访问。
发明内容
为解决现有技术中存在的问题,本发明提出了一种传输层反向代理方法。
本发明的目的是通过以下技术方案实现的:
一种传输层反向代理方法,其特征在于,包括如下步骤:
反向代理服务器接收用户的服务请求数据;
通过规则库中设定的规则,判断用户所请求服务的协议类型;
根据判断结果,转发数据到对应的业务服务器。
通过规则库中设定的规则,匹配服务请求的类型,进一步包括:
调用规则库;
根据服务请求的数据格式判断用户所请求服务的协议类型。
规则库中包含多种应用层协议的特征描述。
使用正则表达式作为应用层协议的特征描述。
根据服务请求的数据格式判断该服务请求的类型,进一步包括:
若规则库中未找到与服务请求相匹配的特征描述,则反向代理服务器拒绝该用户的服务请求。
传输层反向代理方法还包括如下步骤:
启动反向代理服务器,开启至少一个侦听端口;
反向服务器与用户端建立传输层连接后,从用户端接收服务请求数据。
侦听端口是80端口。
用户所请求服务的协议是基于传输层协议的高层协议。
用户所请求服务的协议是基于TCP协议的高层协议。
由于每种网络协议的数据格式是不同的、独特的,如同该网络协议格式的指纹特征一样,各种网络应用服务器也是根据不同的数据格式进行解析处理的。因此,本发明实施例中,提出了一种全新理念的反向代理服务方式,反向代理服务器通过在将每种用户所请求服务的协议的数据格式,判断用户请求的协议类型,并转发数据到对应的业务服务器,反向代理服务器通过开放单个或相对较少数量的端口,就能够支持多种网络协议的传输,降低了用户的部署成本,提高了用户服务的响应便捷性。
附图说明
图1是本发明的一种网络拓扑图;
图2是本发明的一种流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,并不是全部的实施例。作为实现本实施例所述的传输层反向代理方法的基础,首先,需要启动反向代理服务器,如图1所示,反向服务器与用户端建立传输层连接后,从用户端接收服务请求数据,如各类服务请求,并将用户发送的服务请求数据转发至提供各类服务的业务服务器。接着,开启至少一个侦听端口,在一个实施例中,开启80端口,在另一个实施例中,开启除80端口外的其他一个或多个端口。
反向代理服务器可以是一个服务器设备,或由多个服务器设备组成的用于提供反向代理服务的服务器集群。同样的,业务服务器可以是一个服务器设备,或由多个服务器设备组成的用于提供某一种或多种服务的服务器集群。
如图2所示的一种传输层反向代理方法,包括如下步骤:
S001,反向代理服务器接收用户的服务请求数据;
S002,调用规则库;
S003,通过规则库中设定的规则,根据服务请求的数据格式,判断用户所请求服务的协议类型;
S004,根据判断结果,转发数据到对应的业务服务器。
规则库中包含多种应用层协议的特征描述,通过规则库对各种协议的数据格式进行管理,方便匹配和扩充。
在一种实施例中,使用正则表达式作为应用层协议的特征描述,例如HTTP协议的规则是:
HTTP=^GET|POST\s+
在一种实施例中,根据服务请求的包头,来判断用户所请求服务的协议类型:
在一个实例中,判断客户端发送的服务请求的包头是否以get/post开头,如果是,则判断为http请求,并根据http的请求url,按配置转发给对应的http服务器;
在另一个实例中,判断客户端发送的服务请求的包头是否以二进制0x03000000bc开头,如果是,则判断是RTMP请求,根据请求的节目ID,按配置转发给对应RTMP服务器;
在另一个实施例中,判断客户端发送的服务请求的包头是否以”SSH-2.0-nsssh2_3.0.0018 NetSarang Computer, Inc.”,如果是,则判断是SSH请求,根据请求的节目ID,按配置转发给对应SSH服务器;
在另一个实施例中,判断客户端发送的服务请求的包头是否以用户登录名(如“user***”)开头,如果是,则判断是FTP,根据请求的节目ID,按配置转发给对应FTP服务器。
在一个实施例中,如果规则库中未找到与服务请求相匹配的特征描述,则反向代理服务器拒绝该用户的服务请求。
在一个实施例中,用户所请求服务的协议是基于传输层协议的高层协议。
在另一个实施例中,用户所请求服务的协议是基于TCP协议的高层协议,包括但不限于:TP协议,SSH协议,HTTP协议。
通过以上实施例,反向代理服务器通过开放单个或相对较少数量的端口,就能够支持多种网络协议的传输,降低了用户的部署成本,提高了用户服务的响应便捷性。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (9)
1.一种传输层反向代理方法,其特征在于,包括如下步骤:
反向代理服务器接收用户的服务请求数据;
通过规则库中设定的规则,判断用户所请求服务的协议类型;
根据判断结果,转发数据到对应的业务服务器。
2.如权1所述的传输层反向代理方法,其特征在于,所述的通过规则库中设定的规则,匹配服务请求的类型,进一步包括:
调用规则库;
根据所述的服务请求的数据格式判断用户所请求服务的协议类型。
3.如权2所述的传输层反向代理方法,其特征在于:
所述的规则库中包含多种应用层协议的特征描述。
4.如权3所述的传输层反向代理方法,其特征在于:
使用正则表达式作为所述的应用层协议的特征描述。
5.如权4所述的传输层反向代理方法,其特征在于,所述的根据服务请求的数据格式判断该服务请求的类型,进一步包括:
若所述的规则库中未找到与所述的服务请求相匹配的特征描述,则反向代理服务器拒绝该用户的所述的服务请求。
6.如权1所述的传输层反向代理方法,其特征在于,还包括如下步骤:
启动反向代理服务器,开启至少一个侦听端口;
所述的反向服务器与用户端建立传输层连接后,从所述的用户端接收服务请求数据。
7.如权6所述的传输层反向代理方法,其特征在于,所述的侦听端口是80端口。
8.如权1~7中任意一条所述的传输层反向代理方法,其特征在于,用户所请求服务的协议是基于传输层协议的高层协议。
9.如权1~7中任意一条所述的传输层反向代理方法,其特征在于,用户所请求服务的协议是基于TCP协议的高层协议。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710532432.0A CN107222561A (zh) | 2017-07-03 | 2017-07-03 | 一种传输层反向代理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710532432.0A CN107222561A (zh) | 2017-07-03 | 2017-07-03 | 一种传输层反向代理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107222561A true CN107222561A (zh) | 2017-09-29 |
Family
ID=59953273
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710532432.0A Pending CN107222561A (zh) | 2017-07-03 | 2017-07-03 | 一种传输层反向代理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107222561A (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109241051A (zh) * | 2018-07-19 | 2019-01-18 | 清华大学 | 数据流通方法、计算引擎、转发引擎及数据流通系统 |
CN110139165A (zh) * | 2019-03-26 | 2019-08-16 | 南京海比信息技术有限公司 | 流媒体反向代理服务实现一个端口承载多个流协议的方法 |
CN110677432A (zh) * | 2019-10-14 | 2020-01-10 | 广州江南科友科技股份有限公司 | 一种网络协议内部代理转发方法、装置、介质及终端设备 |
CN112235266A (zh) * | 2020-09-29 | 2021-01-15 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置、设备及存储介质 |
CN112637198A (zh) * | 2020-12-22 | 2021-04-09 | 辽宁大学 | 一种基于OPC UA PubSub的多协议自适配模块设计方法 |
US20210306303A1 (en) * | 2020-03-24 | 2021-09-30 | Microsoft Technology Licensing, Llc | Reverse proxy servers for implementing application layer-based and transport layer-based security rules |
CN113992642A (zh) * | 2021-10-25 | 2022-01-28 | 深信服科技股份有限公司 | 网关代理服务器的流量审计方法、装置及相关设备 |
CN114125016A (zh) * | 2021-11-30 | 2022-03-01 | 北京天融信网络安全技术有限公司 | 一种支持多协议的正向代理方法及装置 |
CN114531499A (zh) * | 2020-11-06 | 2022-05-24 | 网宿科技股份有限公司 | 一种基于quic协议的端口共用方法、系统及服务器 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105100263A (zh) * | 2015-08-20 | 2015-11-25 | 百度在线网络技术(北京)有限公司 | 一种反向代理方法及装置 |
CN105678188A (zh) * | 2016-01-07 | 2016-06-15 | 杨龙频 | 数据库防泄露协议识别方法及装置 |
US20160285681A1 (en) * | 2015-03-23 | 2016-09-29 | Ale International | Configuration services for user terminals |
-
2017
- 2017-07-03 CN CN201710532432.0A patent/CN107222561A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160285681A1 (en) * | 2015-03-23 | 2016-09-29 | Ale International | Configuration services for user terminals |
CN105100263A (zh) * | 2015-08-20 | 2015-11-25 | 百度在线网络技术(北京)有限公司 | 一种反向代理方法及装置 |
CN105678188A (zh) * | 2016-01-07 | 2016-06-15 | 杨龙频 | 数据库防泄露协议识别方法及装置 |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109241051A (zh) * | 2018-07-19 | 2019-01-18 | 清华大学 | 数据流通方法、计算引擎、转发引擎及数据流通系统 |
CN110139165A (zh) * | 2019-03-26 | 2019-08-16 | 南京海比信息技术有限公司 | 流媒体反向代理服务实现一个端口承载多个流协议的方法 |
CN110139165B (zh) * | 2019-03-26 | 2021-05-14 | 南京海比信息技术有限公司 | 流媒体反向代理服务实现一个端口承载多个流协议的方法 |
CN110677432A (zh) * | 2019-10-14 | 2020-01-10 | 广州江南科友科技股份有限公司 | 一种网络协议内部代理转发方法、装置、介质及终端设备 |
CN115315926A (zh) * | 2020-03-24 | 2022-11-08 | 微软技术许可有限责任公司 | 用于实现基于应用层和基于传输层的安全规则的反向代理服务器 |
US11831616B2 (en) * | 2020-03-24 | 2023-11-28 | Microsoft Technology Licensing, Llc | Reverse proxy servers for implementing application layer-based and transport layer-based security rules |
US20210306303A1 (en) * | 2020-03-24 | 2021-09-30 | Microsoft Technology Licensing, Llc | Reverse proxy servers for implementing application layer-based and transport layer-based security rules |
CN112235266A (zh) * | 2020-09-29 | 2021-01-15 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置、设备及存储介质 |
CN112235266B (zh) * | 2020-09-29 | 2024-04-12 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置、设备及存储介质 |
CN114531499B (zh) * | 2020-11-06 | 2024-03-26 | 网宿科技股份有限公司 | 一种基于quic协议的端口共用方法、系统及服务器 |
CN114531499A (zh) * | 2020-11-06 | 2022-05-24 | 网宿科技股份有限公司 | 一种基于quic协议的端口共用方法、系统及服务器 |
CN112637198B (zh) * | 2020-12-22 | 2023-04-18 | 辽宁大学 | 一种基于OPC UA PubSub的多协议自适配模块设计方法 |
CN112637198A (zh) * | 2020-12-22 | 2021-04-09 | 辽宁大学 | 一种基于OPC UA PubSub的多协议自适配模块设计方法 |
CN113992642B (zh) * | 2021-10-25 | 2023-10-24 | 深信服科技股份有限公司 | 网关代理服务器的流量审计方法、装置及相关设备 |
CN113992642A (zh) * | 2021-10-25 | 2022-01-28 | 深信服科技股份有限公司 | 网关代理服务器的流量审计方法、装置及相关设备 |
CN114125016A (zh) * | 2021-11-30 | 2022-03-01 | 北京天融信网络安全技术有限公司 | 一种支持多协议的正向代理方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107222561A (zh) | 一种传输层反向代理方法 | |
CN109067914B (zh) | Web服务的代理方法、装置、设备及存储介质 | |
US8892768B2 (en) | Load balancing apparatus and load balancing method | |
CN102238226B (zh) | 在以内容为中心的网络上的会话迁移 | |
CN102790808B (zh) | 一种域名解析方法和系统、一种客户端 | |
CN104580192B (zh) | 应用程序的网络访问请求的处理方法和装置 | |
US8930554B2 (en) | Transferring session data between network applications accessible via different DNS domains | |
US20070214265A1 (en) | Scalable captive portal redirect | |
CN102904959B (zh) | 网络加速方法和网关 | |
CA2408766A1 (en) | Content delivery network bypass system | |
US11553058B1 (en) | Sticky sessions in a proxy infrastructure | |
CN105306433A (zh) | 一种访问虚拟机服务器的方法和装置 | |
CN104506802A (zh) | 视频监控系统、穿越nat监控视频数据的方法 | |
US20150127837A1 (en) | Relay apparatus and data transfer method | |
CN102790693A (zh) | 网管配置管理方法及装置 | |
US8650313B2 (en) | Endpoint discriminator in network transport protocol startup packets | |
WO2016180284A1 (zh) | 服务节点分配方法、装置、cdn管理服务器及系统 | |
US20130268584A1 (en) | Methods and apparatus for publishing and subscribing electronic documents using intermediate rendezvous servers | |
CN107888643A (zh) | 一种udp负载均衡方法、装置和系统 | |
JP3655575B2 (ja) | ゲートウェイ装置 | |
US20080301305A1 (en) | Method and related system for building up a network connection between clients and servers through a stream fork by utilizing http protocol | |
CN101572729B (zh) | 一种虚拟专用网节点信息的处理方法及相关设备、系统 | |
EP1726145B1 (en) | Method and apparatus for efficiently transferring data within a telecommunications network | |
EP2786551B1 (en) | Discovering data network infrastructure services | |
KR20050111407A (ko) | 웹사이트 이동간의 광고 제공 시스템 |
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: 20170929 |
|
RJ01 | Rejection of invention patent application after publication |