CN105119986A - 一种基于预连接的Web反向代理方法 - Google Patents

一种基于预连接的Web反向代理方法 Download PDF

Info

Publication number
CN105119986A
CN105119986A CN201510491430.2A CN201510491430A CN105119986A CN 105119986 A CN105119986 A CN 105119986A CN 201510491430 A CN201510491430 A CN 201510491430A CN 105119986 A CN105119986 A CN 105119986A
Authority
CN
China
Prior art keywords
socket
reverse proxy
web server
backstage
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
Application number
CN201510491430.2A
Other languages
English (en)
Other versions
CN105119986B (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.)
State Grid Corp of China SGCC
NARI Group Corp
Nari Information and Communication Technology Co
Original Assignee
State Grid Corp of China SGCC
Nari Information and Communication Technology Co
Nanjing NARI Group Corp
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 State Grid Corp of China SGCC, Nari Information and Communication Technology Co, Nanjing NARI Group Corp filed Critical State Grid Corp of China SGCC
Priority to CN201510491430.2A priority Critical patent/CN105119986B/zh
Publication of CN105119986A publication Critical patent/CN105119986A/zh
Application granted granted Critical
Publication of CN105119986B publication Critical patent/CN105119986B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/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
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • H04L69/162Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Cardiology (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明提供一种基于预连接的Web反向代理方法,后台Web服务器会主动向反向代理服务器发起建立socket连接的请求,反向代理服务器创建socket连接后,将socket存入socket资源池;当客户端浏览器向反向代理服务器发起网页请求时,反向代理服务器会从socket资源池中获取socket,并利用该socket向后台Web服务器进行请求转发,后台Web服务器收到请求会进行处理,将结果返回给反向代理服务器,最终由反向代理服务器将结果返回给客户端浏览器进行展示。本发明具有如下优点:(1)对后台应用系统透明;(2)访问内部网络时满足网络安全性要求;(3)硬件和软件成本低,且升级操作简单。

Description

一种基于预连接的Web反向代理方法
技术领域
本发明针对不同网络连接之间存在防火墙隔离的网络环境,具体的隔离策略是安全等级高的一方可以访问等级低的一方,反之不可以。本发明涉及一种Web反向代理技术,特别是一种基于预连接的Web反向代理方法。
背景技术
在电力二次系统中,根据不同业务系统的重要性,划分了不同的安全工作区,比如生产区(Ⅰ区、Ⅱ区)、管理区(Ⅲ区、Ⅳ区)。不同的安全工作区明确了不同的安全防护要求,提出了不同的安全等级和防护水平。在不同工作区之间部署的正/反向隔离装置,提高了电力通信网络的安全性,但同时也在一定程度上给不同工作区之间的通信带来了不便。随着通信与网络的发展,以及电力改革的推进和电力市场的建立,电网的调度中心与变电站、电厂、用户等之间进行的数据交换越来越频繁。但一些变电站、电厂在规划和设计时由于经济原因或者对网络安全重视程度不同的原因,没有建设安全的网络环境,因此对电网的安全运行构成了隐患。
为了能够对外提供电网管理应用系统,需要将服务设施对外发布。在建设网络时,考虑到网络安全,建设了隔离区(DMZ区),作为内部网络和外部网络之间的缓冲区,可以放置用于公开的服务设施。
DMZ区与Ⅲ区之间的防火墙规则是:Ⅲ区应用可以主动向DMZ区应用发起访问请求,且建立的连接可以双向通信,而DMZ区应用不可以直接向Ⅲ区应用发起访问请求。外部网络的访问请求在经过防火墙过滤之后可以到达DMZ区应用。
部署在Ⅲ区的Web服务为了让外网能够访问,目前的做法是将该Web服务在DMZ区也相同地部署一份,同时,对于外网提交的数据,在DMZ区与Ⅲ区之间进行数据同步和流程同步。
然而,目前的这种部署方式存在很大的不足,主要是如下两点:(1)需在DMZ区部署相同的服务,包括Web服务器、数据库服务器、存储整列等,成本较高;(2)对于复杂的工作流通过文件进行交换的方式进行数据同步,软件开发的工作量很大。
发明内容
本发明针对这对这种网络环境下的外网访问需求,提出了一种简便、稳定而且经济的反向代理方法。
本发明的基于预连接的反向代理方法,主要涉及到如下几个部分:
位于Ⅲ区的后台Web服务器会主动向位于DMZ区的反向代理服务器发起建立连接的请求,其中,后台Web服务器在启动时读取配置文件中设置的反向代理服务器IP地址和端口信息,向反向代理服务发出建立socket连接的请求。反向代理服务器会一直监听预设的端口,当收到建立连接的请求后,与后台Web服务器建立预设数量的socket连接,并将这些socket存储到socket存储池中,用于反向代理服务器转发请求时直接使用与后台Web服务器建立好的socket通信连接。
另外,当客户端发起Http/Https的网页请求时,该请求经过网络传输到达反向代理服务器时,反向代理服务器会首先根据规则,确定该请求是否需要反向代理方式处理,若需要反向代理方式处理,则从socket存储池中取出可用的socket连接,通过该连接将客户端的请求转发给后台Web服务器。在处理完该请求后,将当前使用的socket存储到socket存储池中,以循环利用,减少每次连接都需要新建socket的开销。
进一步地,反向代理服务器会定期地向后台Web服务器发出心跳信息,以告知后台Web服务器这些预连接的socket的状态。反向代理服务器是在网络协议栈的第七层,即应用层发出心跳信息,后台Web服务器收到心跳信息后,会返回固定的标识符。同时,后台Web服务器会维护一个所有预连接的socket的最后收到心跳的时间列表,若发现某个socket的最后心跳时间距离当前时间超过预设的一个阈值,则在Web服务器端会主动关闭该socket连接,同时递补地创建一个新的socket连接。
进一步地,定期心跳的步骤为:
反向代理服务器定时地对socket资源池中的每个socket,从资源池中取出,向后台发出AJP协议格式的请求内容为空的Cping/Cpong心跳信息;
若心跳测试发出,立刻将该socket存储到socket资源池中;若心跳测试失败,则再尝试发送N次心跳,若其中有一次发送成功则将对应的socket放入socket资源池中,若直到第N次发送仍失败,则关闭该socket;
后台Web服务器记录每个已建立的socket的最后收到心跳的时间,若超过一个预先设定的时间阈值,则在后台Web服务器端主动关闭该socket连接。
本发明具有如下的优点:
(1)相对于传统解决方案,本发明对应用系统透明,即无需应用系统做任何DMZ区网络的适应性开发,应用系统依然部署在Ⅲ区,只需在DMZ区部署代理服务,外网用户就能通过代理服务访问到Ⅲ区的应用系统;可以将Ⅲ区的应用系统大规模应用到DMZ区网络,让外网用户访问。
(2)在实现让外部网络通过DMZ区访问位于内部网络的应用系统服务时,满足网络方面所要求的安全性。
(3)相对于在DMZ区部署一套跟内部网络上的后台应用一样的系统,采用基于预连接的反向代理方案,由于在DMZ区只需部署反向代理服务器,所需硬件资源少,能够有效地降低硬件和软件上的成本;同时,由于应用系统只在Ⅲ区单边部署,系统升级操作简单。
附图说明
图1为本发明针对的网络环境的示意图;
图2为本发明的创建预连接的socket的过程示意图;
图3为用户发出请求后,反向代理服务器和后台Web服务器的处理流程示意图;
图4为对预连接的socket进行定期心跳检测和无效socket释放的过程示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加清楚易懂,下面将结合附图和具体的实施例对本发明的技术方案作进一步描述。
参见图1,本发明可以针对如下的网络环境。其中,应用系统部署在内部网络中,内部网络中的用户访问系统时,可以直接访问;而外部网络中的用户,需要通过访问DMZ区的反向代理服务器来访问应用系统。
图2为创建预连接的socket的过程。与常规的反向代理服务器的做法不同,本发明中,socket连接的创建不是用户请求到来时反向代理服务器向后台Web服务器发起连接,而是后台Web服务器首先向反向代理服务器预先建立一定数量的socket。在反向代理服务器端,将这些预先建立的socket存储到socket存储池中,以用于处理用户请求时直接转发到后台Web服务器。
图3为位于客户端的用户从外网网络向反向代理服务器发起一次请求时,反向代理服务器接收该请求,同时从socket资源池中取出socket,并利用该socket向后台Web服务器转发该请求。为了避免处理每次请求时都要创建新的socket,在一次请求处理完成后,将当前的socket放入存储池中,以循环使用。后台Web服务器处理完该请求后,将结果返回给反向代理服务器,反向代理服务器会将结果返回给用户的浏览器,浏览器将结果网页展示给用户。
如图4所示,为了避免DMZ区与内部网络之间的防火墙会清理超过一定时间未使用的socket连接,在反向代理服务程序中,启动一个线程,用于定期对存储池中的socket进行心跳检测。为了保证内网的网络安全,DMZ区与内部网络的防火墙会设立这样的安全策略,此时,预连接的socket在超过阈值时间内未使用就会失效。为了解决上述情况下的socket失效问题,对预连接的socket引入心跳检测机制。该检测是位于应用层的检测,反向代理服务器在心跳检测完成后将该socket继续放回socket资源池中备用。在后台Web服务器端,会记录每个已建立连接的socket的最后心跳时间,若超过预设的阈值,则在后台Web服务器端主动释放该socket,同时创建新的socket连接,以保持预连接的socket的数量。
以上是为了使本领域的技术人员能够理解本发明,而对本发明所进行的详细描述。但可以想到,在不脱离本发明的权利要求所涵盖的范围内还可以做出其他的变化和改变,这些变化和改变均在本发明的保护范围之内。

Claims (5)

1.一种基于预连接的Web反向代理方法,其特征在于,后台Web服务器主动向反向代理服务器请求建立连接,反向代理服务器把建立的socket连接存储在socket资源池中,包括下列步骤:
后台Web服务器在启动后,根据读取的配置文件设置的IP地址和端口信息,向反向代理服务器发出建立socket连接的请求;反向代理服务器一直监听该端口,当收到建立连接请求后,与后台Web服务器建立约定数量的socket连接,并将其存储到socket资源池中。
2.如权利要求1所述的基于预连接的Web反向代理方法,其特征在于,当客户端发出网页请求时,还包括以下步骤:
客户端发出Http/Https的网页请求,反向代理服务器收到该请求后,从socket资源池中直接取出可用的socket连接,通过该连接转发请求给后台Web服务器;
后台Web服务器处理完该次请求后,将使用中的socket放入socket资源池中,循环利用。
3.如权利要求1所述的基于预连接的Web反向代理方法,其特征在于,反向代理服务器定期地通过socket资源池中的socket,向后台Web服务器发出心跳信息,告知后台Web服务器这些预连接的socket的状态。
4.如权利要求3所述的基于预连接的Web反向代理方法,其特征在于,反向代理服务器在网络协议栈的第七层即应用层发出心跳信息,后台Web服务器收到心跳信息后,返回固定的标识符;同时,后台Web服务器维护一个所有预连接的socket的最后收到心跳的时间列表,若发现某个socket的最后心跳时间距离当前时间超过预设的一个阈值,则在Web服务器端主动关闭该socket连接,同时递补地创建一个新的socket连接。
5.如权利要求3或4所述的基于预连接的Web反向代理方法,其特征在于,定期心跳的步骤为:
反向代理服务器定时地对socket资源池中的每个socket,从资源池中取出,向后台发出AJP协议格式的请求内容为空的Cping/Cpong心跳信息;
若心跳测试发出,立刻将该socket存储到socket资源池中;若心跳测试失败,则再尝试发送N次心跳,若其中有一次发送成功则将对应的socket放入socket资源池中,若直到第N次发送仍失败,则关闭该socket;
后台Web服务器记录每个已建立的socket的最后收到心跳的时间,若超过一个预先设定的时间阈值,则在后台Web服务器端主动关闭该socket连接。
CN201510491430.2A 2015-08-12 2015-08-12 一种基于预连接的Web反向代理方法 Active CN105119986B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510491430.2A CN105119986B (zh) 2015-08-12 2015-08-12 一种基于预连接的Web反向代理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510491430.2A CN105119986B (zh) 2015-08-12 2015-08-12 一种基于预连接的Web反向代理方法

Publications (2)

Publication Number Publication Date
CN105119986A true CN105119986A (zh) 2015-12-02
CN105119986B CN105119986B (zh) 2018-04-03

Family

ID=54667869

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510491430.2A Active CN105119986B (zh) 2015-08-12 2015-08-12 一种基于预连接的Web反向代理方法

Country Status (1)

Country Link
CN (1) CN105119986B (zh)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106101124A (zh) * 2016-06-30 2016-11-09 北京奇艺世纪科技有限公司 一种通讯通道共享方法及装置
CN106302755A (zh) * 2016-08-18 2017-01-04 中央电视台 反向被动代理方法及装置
CN108092993A (zh) * 2017-12-29 2018-05-29 税友软件集团股份有限公司 一种网络数据传输控制方法和系统
CN108462751A (zh) * 2018-03-23 2018-08-28 上海地面通信息网络股份有限公司 一种反向代理系统
CN108989390A (zh) * 2018-06-19 2018-12-11 北京智明星通科技股份有限公司 用户请求转发方法及装置、反向代理服务器和计算机可读存储介质
CN109522055A (zh) * 2018-11-01 2019-03-26 中国工商银行股份有限公司 基于分布式服务调用的连接预热方法及系统
CN110099035A (zh) * 2018-01-31 2019-08-06 上海甚术网络科技有限公司 一种网络广告数据高并发访问服务方法
CN110225092A (zh) * 2019-05-14 2019-09-10 无线生活(杭州)信息科技有限公司 一种通信方法及WebSocket服务器
CN113395255A (zh) * 2021-04-30 2021-09-14 西安交通大学 一种autossh反向代理检测方法、系统、设备及可读存储介质
CN113472579A (zh) * 2021-07-01 2021-10-01 山东浪潮通软信息科技有限公司 一种访问外网应用程序接口的配置方法、设备及介质
CN113472877A (zh) * 2021-06-29 2021-10-01 深圳供电局有限公司 一种电力数据通信网系统
CN114172698A (zh) * 2021-11-19 2022-03-11 重庆川仪自动化股份有限公司 一种业务请求处理方法、Web服务器、设备及介质
CN117093639A (zh) * 2023-10-18 2023-11-21 北京安华金和科技有限公司 一种基于审计服务的套接字连接处理方法和系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101753606A (zh) * 2008-12-03 2010-06-23 北京天融信科技有限公司 一种实现web反向代理的方法
CN102395212A (zh) * 2011-11-18 2012-03-28 百度在线网络技术(北京)有限公司 网关接入控制方法、系统及装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101753606A (zh) * 2008-12-03 2010-06-23 北京天融信科技有限公司 一种实现web反向代理的方法
CN102395212A (zh) * 2011-11-18 2012-03-28 百度在线网络技术(北京)有限公司 网关接入控制方法、系统及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
杨小娇: "《轻量级高并发Web服务器的研究与实现》", 《信息科技辑》 *
陈卫平: "《DMZ区安全建设模型初探》", 《现代电视技术》 *

Cited By (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106101124A (zh) * 2016-06-30 2016-11-09 北京奇艺世纪科技有限公司 一种通讯通道共享方法及装置
CN106101124B (zh) * 2016-06-30 2020-05-08 北京奇艺世纪科技有限公司 一种通讯通道共享方法及装置
CN106302755A (zh) * 2016-08-18 2017-01-04 中央电视台 反向被动代理方法及装置
CN106302755B (zh) * 2016-08-18 2019-03-19 中央电视台 反向被动代理方法及装置
CN108092993A (zh) * 2017-12-29 2018-05-29 税友软件集团股份有限公司 一种网络数据传输控制方法和系统
CN108092993B (zh) * 2017-12-29 2020-12-18 税友软件集团股份有限公司 一种网络数据传输控制方法和系统
CN110099035B (zh) * 2018-01-31 2022-04-12 上海甚术网络科技有限公司 一种网络广告数据高并发访问服务方法
CN110099035A (zh) * 2018-01-31 2019-08-06 上海甚术网络科技有限公司 一种网络广告数据高并发访问服务方法
CN108462751A (zh) * 2018-03-23 2018-08-28 上海地面通信息网络股份有限公司 一种反向代理系统
CN108462751B (zh) * 2018-03-23 2023-08-22 上海地面通信息网络股份有限公司 一种反向代理系统
CN108989390B (zh) * 2018-06-19 2020-11-10 北京智明星通科技股份有限公司 用户请求转发方法及装置、反向代理服务器和计算机可读存储介质
CN108989390A (zh) * 2018-06-19 2018-12-11 北京智明星通科技股份有限公司 用户请求转发方法及装置、反向代理服务器和计算机可读存储介质
CN109522055B (zh) * 2018-11-01 2022-04-05 中国工商银行股份有限公司 基于分布式服务调用的连接预热方法及系统
CN109522055A (zh) * 2018-11-01 2019-03-26 中国工商银行股份有限公司 基于分布式服务调用的连接预热方法及系统
CN110225092A (zh) * 2019-05-14 2019-09-10 无线生活(杭州)信息科技有限公司 一种通信方法及WebSocket服务器
CN113395255A (zh) * 2021-04-30 2021-09-14 西安交通大学 一种autossh反向代理检测方法、系统、设备及可读存储介质
CN113395255B (zh) * 2021-04-30 2022-07-12 西安交通大学 一种autossh反向代理检测方法、系统、设备及可读存储介质
CN113472877A (zh) * 2021-06-29 2021-10-01 深圳供电局有限公司 一种电力数据通信网系统
CN113472579A (zh) * 2021-07-01 2021-10-01 山东浪潮通软信息科技有限公司 一种访问外网应用程序接口的配置方法、设备及介质
CN113472579B (zh) * 2021-07-01 2024-04-19 浪潮通用软件有限公司 一种访问外网应用程序接口的配置方法、设备及介质
CN114172698A (zh) * 2021-11-19 2022-03-11 重庆川仪自动化股份有限公司 一种业务请求处理方法、Web服务器、设备及介质
CN117093639A (zh) * 2023-10-18 2023-11-21 北京安华金和科技有限公司 一种基于审计服务的套接字连接处理方法和系统
CN117093639B (zh) * 2023-10-18 2024-01-26 北京安华金和科技有限公司 一种基于审计服务的套接字连接处理方法和系统

Also Published As

Publication number Publication date
CN105119986B (zh) 2018-04-03

Similar Documents

Publication Publication Date Title
CN105119986A (zh) 一种基于预连接的Web反向代理方法
CN101557405B (zh) 一种入口认证方法及其对应的网关设备、服务器
CN101291205B (zh) 传输备份数据的方法、系统和镜像服务器
CN104135460B (zh) 一种推送通道保活方法和推送服务器
CN105208043A (zh) 外网代理模块、内网代理模块、数据传输方法及系统
CN101262350B (zh) 一种Portal双机热备份的实现方法、系统及设备
CN103199972A (zh) 基于soa、rs485总线实现的双机热备份切换方法及热备份系统
CN103209089A (zh) 心跳周期的获取方法及终端、服务器
WO2019184285A1 (zh) 通信设备、节点的连接方法、存储介质、电子装置
CN102035880A (zh) 一种保持连接的方法及装置
CN103517409B (zh) 信息传输方法、系统及设备
CN101567861B (zh) 异构应用系统之间的数据同步方法及应用系统
CN103281408B (zh) 一种反向注册穿透网络的方法
CN111866141A (zh) 机器人的监控方法、系统、装置、存储介质和处理器
CN102684929A (zh) 一种双机热冗余备份方法和系统
CN103825777A (zh) 一种dmz服务器切换方法和装置
CN104394465A (zh) 一种唤醒待机状态的方法和设备
CN102387040A (zh) 一种前置机保持高速稳定运行的方法及系统
CN103780641A (zh) 接入云桌面的方法、家庭网关和系统
CN102333289A (zh) 基于短信的3g网络设备综合管理系统及方法
CN102215378B (zh) 一种动态组网的多媒体传感网络系统
CN103220345B (zh) 门户设备管理方法以及门户设备和系统
CN104243473B (zh) 一种数据传输的方法以及装置
CN109308233A (zh) 数据备份方法、装置及系统
CN111355764B (zh) 保活报文发送方法、装置、电子设备及可读存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP01 Change in the name or title of a patent holder

Address after: 100031 Xicheng District West Chang'an Avenue, No. 86, Beijing

Co-patentee after: NARI Group Corp.

Patentee after: State Grid Corporation of China

Co-patentee after: NARI INFORMATION AND COMMUNICATION TECHNOLOGY Co.

Address before: 100031 Xicheng District West Chang'an Avenue, No. 86, Beijing

Co-patentee before: NARI Group CORPORATION STATE GRID ELECTRIC POWER INSTITUTE

Patentee before: State Grid Corporation of China

Co-patentee before: NARI INFORMATION AND COMMUNICATION TECHNOLOGY Co.

CP01 Change in the name or title of a patent holder