CN112714194B - 一种外网主机访问内网设备的方法和网络拓扑结构 - Google Patents

一种外网主机访问内网设备的方法和网络拓扑结构 Download PDF

Info

Publication number
CN112714194B
CN112714194B CN202110323310.7A CN202110323310A CN112714194B CN 112714194 B CN112714194 B CN 112714194B CN 202110323310 A CN202110323310 A CN 202110323310A CN 112714194 B CN112714194 B CN 112714194B
Authority
CN
China
Prior art keywords
intranet
url
proxy node
service
identifier
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
Application number
CN202110323310.7A
Other languages
English (en)
Other versions
CN112714194A (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.)
Nanjing Magewell Electronic Technology Co ltd
Original Assignee
Nanjing Magewell Electronic 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 Nanjing Magewell Electronic Technology Co ltd filed Critical Nanjing Magewell Electronic Technology Co ltd
Priority to CN202110323310.7A priority Critical patent/CN112714194B/zh
Publication of CN112714194A publication Critical patent/CN112714194A/zh
Application granted granted Critical
Publication of CN112714194B publication Critical patent/CN112714194B/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/2866Architectures; Arrangements
    • H04L67/2876Pairs of inter-processing entities at each side of the network, e.g. split proxies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0281Proxies
    • 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]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种外网主机访问内网设备的方法和网络拓扑结构,将一级代理节点部署于外网,二级代理节点部署于内网,为内网设备在一级代理节点和二级代理节点之间建立通信连接通道,在一级代理节点处维护内网服务注册表,存储连接标识和内网服务标识,一级代理节点基于内网服务标识对内网web进行URL改写得到相应的外网URL,在接收到指向目标web服务的外网URL的请求时,依据连接标识发送给相应的二级代理节点,二级代理节点对接收到外网URL时进行请求报文改写后发送至相应的目标内网设备,无需改变原有网络配置,通过添加新的服务即可实现外网主机对多个不同局域网中内网设备的访问。

Description

一种外网主机访问内网设备的方法和网络拓扑结构
技术领域
本发明涉及通信技术领域,尤其涉及一种外网主机访问内网设备的方法和网络拓扑结构。
背景技术
现有技术中为了便于对内网设备进行管理,通常会在内网设备上实现web服务,利用位于同一内网的计算机或位于同一无线局域网内的移动终端通过浏览器访问内网设备的web服务,获取内网设备的相关信息,如性能参数以及工作状态信息等,以及对内网设备进行配置,此时的内网设备相当于一台内网web服务器。
统一资源定位系统(uniform resource locator;URL)是因特网的万维网服务程序上用于指定信息位置的表示方法。由于内网服务器不具备公网地址,外网主机无法直接访问内网服务器所提供的web服务,一般通过设置web代理服务器来实现外网主机对内网web服务的访问,外网主机只能发送请求给web代理服务器,即指向内网web服务的内网URL不能直接提供给外网主机的用户。如图1所示,该拓扑结构中包括外网主机、web代理服务器和内网服务器,内网服务器能够提供web服务,web代理服务器依据预设的改写URL规则对内网服务器的内网URL进行改写得到其外网URL,外网主机浏览器通过该外网URL向web代理服务器发送访问请求,web代理服务器接收来自外网主机浏览器的访问请求,根据改写规则获取内网服务器的访问链接,然后将访问请求有策略的转发给相应的内网服务器,并将内网服务器处理的结果,以响应报文的形式返回给发起访问请求的外网主机。
在图1所示的网络拓扑结构中,web代理服务器必须与内网服务器处于同一内网中,对于处于不同局域网的内网服务器,则需要设置相应数目的web代理服务器,而访问者需要记住内网服务器与每个网络的公网地址的对应关系,甚至部分内网无固定的公网IP,这无疑让访问变得复杂且繁琐。另外,采用图1所示的网络拓扑结构,需要内网服务器对外开放端口,而暴露端口会增加内网的安全隐患,并且内网中每增加一个web服务器就需要网络管理员开放一个端口,存在权限和网络管理负担问题,而且不一定能申请到端口开放的权限。增加网络管理负担。另外,同一内网通常会存在多种同一类型的设备,它们提供的web页面一般都启用cookies做登录和状态记录,如果采用通用的方案,用一个代理服务器做代理,将存在cookies冲突问题导致访问出错或者失败。
发明内容
有鉴于此,基于现有技术中存在的问题,本发明提供一种外网主机访问内网设备的方法和网络拓扑结构,在几乎不改变原有网络配置的基础上,实现外网主机对多个不同局域网中内网设备的访问。
为了解决上述问题,本发明中提供了一种外网主机访问内网设备的方法,所述内网设备能够提供web服务,其特征在于,该方法通过部署于外网的一级代理节点和部署于内网的二级代理节点实现,包括以下步骤:
所述二级代理节点将其所在内网中的内网设备在所述一级代理节点处进行注册,形成内网服务注册表,对于注册成功的内网设备,在所述一级代理节点和二级代理节点之间存在专用通信连接通道,在所述内网服务注册表中所述通信连接通道具有唯一的连接标识,并对应唯一的内网服务标识;
所述一级代理节点根据预设映射方式,基于所述内网服务标识为所述内网设备提供的web服务进行URL改写生成指向所述web服务的外网URL;
所述一级代理节点在接收到指向目标web服务的外网URL的访问请求时,根据所述预设映射方式提取请求报文中的内网服务标识,在所述内网服务注册表中获取与所述内网服务标识对应的连接标识;
所述一级代理节点利用所述连接标识对应的通信连接通道将所述请求报文发送至相应的二级代理节点;
所述二级代理节点根据所述连接标识获取到目标内网设备的内网服务地址,根据所述预设映射方式利用所述目标内网设备的内网服务地址对所述请求报文进行改写,并向目标内网设备发送改写后的请求报文;
所述目标内网设备接收所述改写后的请求报文,发送所述目标web服务的响应报文,所述响应报文依次经由所述二级代理节点、一级代理节点返回至所述外网主机。
作为一种实施方式,所述预设映射方式为参数映射方式,对于某一内网设备,所述一级代理节点对其提供的web服务进行URL改写,包括步骤:
在所述一级代理节点的URL上添加保留参数;
将所述某一内网设备的内网服务标识作为所述保留参数的赋值。
相应的,对于某一目标web服务,所述二级代理节点对接收到的请求报文进行改写,包括步骤:
删除请求报文中指向所述某一目标web服务的外网URL的保留参数;
将请求报文头部的主机字段赋值为相应目标内网设备的内网服务地址。
进一步,若所述某一目标web服务的响应报文中包含相对引用的URL,则所述一级代理节点在接收到所述响应报文后,对其进行URL改写后再发送给所述外网主机;
所述URL改写是指在所述响应报文中所有相对引用的URL后添加所述保留参数,并将所述某一目标web服务对应的内网服务标识作为所述保留参数的赋值。
作为一种实施方式,所述预设映射方式为子域名映射方式,对于某一内网设备,所述一级代理节点对其提供的web服务进行URL改写,包括步骤:
将所述某一内网设备的内网服务标识作为所述一级代理节点URL的子域名字段;
在域名解析配置中设置泛解析规则,利用通配符匹配所有子域名字段,使得所有子域名均指向所述一级代理节点。
相应的,针对某一目标web服务,所述一级代理节点根据所述子域名映射方式提取所述请求报文中的内网服务标识,包括步骤:
对所述请求报文头部的主机字段中包含的域名信息进行解析;
判断所包含的域名信息是否符合所述泛解析规则,若是则提取通配符所对应的子域名字段作为所述某一目标web服务对应的内网服务标识。
相应的,对于所述某一目标web服务,所述二级代理节点对接收到的请求报文进行改写,包括步骤:
将请求报文头部的主机字段赋值为其对应的目标内网设备的内网服务地址。
进一步,依据http响应报文格式,若某一目标web服务的响应报文中包含完整的URL,则所述一级代理节点需对其进行重定向,将所述完整的URL作为所述一级代理节点转发接口的参数得到对应的转发链接;
所述完整的URL指向外网服务或内网服务,所述内网服务是指目标内网设备所在内网中其他内网设备提供的web服务。
进一步,对于所述注册成功的内网设备,所述内网服务注册表中还对应有唯一内网域名,所述内网域名关联所述连接标识和服务标识;依据http响应报文格式,所述一级代理节点接收到指向转发链接的访问请求时,执行以下步骤:
解析所述转发链接中逗号后完整的URL所指向的域名;
判断所指向的域名是否为所述内网服务注册表中存储的内网域名,若是则表明所述完整的URL指向内网设备提供的web服务,根据所述预设映射方式,基于所述内网域名对应的内网服务标识对所述完整的URL进行URL改写,生成其所指向所述web服务的外网URL。
更进一步,若接收到多个指向同一目标web服务的访问请求时,对于接收到的每个访问请求,该方法还包括步骤:所述一级代理节点为对应的请求报文添加请求标识重新封装后再发送给相应的二级代理节点;
所述二级代理节点接收经过重新封装后的请求报文,针对每个请求报文,根据所述预设映射方式进行改写后发送给相应的目标内网设备;
所述二级代理节点接收所述目标内网设备的响应报文,在所述响应报文中添加其对应的请求标识重新封装后再发送给所述一级代理节点;
所述一级代理节点根据所述请求标识,向每个访问请求发送其对应的响应报文。
相应的,本发明还提供了一种外网主机访问内网设备的网络拓扑结构,所述内网设备能够提供web服务,该网络拓扑结构包括部署于外网的一级代理节点和部署于内网的二级代理节点;
所述一级代理节点包括:
映射存储模块,维护内网服务注册表,对于注册成功的内网设备,在所述内网服务注册表中存储其连接标识和内网服务标识的一一对应关系;
URL改写模块,包括URL初始改写单元,根据预设映射方式,基于所述内网服务标识为所述内网设备提供的web服务进行URL改写生成指向所述web服务的外网URL;
请求报文解析模块,在接收到指向目标web服务的外网URL的访问请求时,根据所述预设映射方式提取请求报文中的内网服务标识,在所述内网服务注册表中获取与所述内网服务标识对应的连接标识;利用所述连接标识对应的通信连接通道将所述请求报文发送至相应的二级代理节点;
以及,所述二级代理节点包括:
配置注册模块,为所述二级代理节点所在内网中的内网设备在相应二级代理节点和所述一级代理节点之间建立专用通信连接通道并发起注册请求,所述通信连接通道具有唯一的连接标识,所述注册请求中包含内网服务标识;所述配置注册模块维护有配置信息表,对于注册成功的内网设备,所述配置信息表中存储其连接标识和内网服务地址的一一对应关系;
请求报文改写模块,接收所述请求报文解析模块发送的请求报文,根据所述连接标识获取到目标内网设备的内网服务地址,根据所述预设映射方式利用所述目标内网设备的服务地址对所述请求报文进行改写,并向所述目标内网设备发送改写后的请求报文。
与现有技术相比,本发明具有以下优势:
本发明中外网主机访问内网设备的方法和拓扑结构,通过部署两级代理,将一级代理节点部署于外网,二级代理节点部署于内网,由二级代理节点主动向一级代理节点建立连接,因而仅需一级代理节点具有独立公网地址;无需管理员做端口映射等任何网络配置工作,避免变更现有网络结构。无需向部署于外网的一级代理节点暴露内网设备的端口,便于网络结构的扩展,为大量不同局域网内的内网设备提供远程访问;本发明中通过参数映射方式和子域名映射方式对内网设备的web服务进行URL改写生成对应的外网URL,即外网URL,并在收到外网访问请求时进行请求报文的改写最终实现对内网设备的访问,具有通用性,无需做特定开发,不因内网设备的类型增多而增加开发工作。
附图说明
图1是现有技术中外网主机访问内网设备的网络拓扑图;
图2是本发明中外网主机访问内网设备的网络拓扑的一种实施例图;
图3是本发明中外网主机访问内网设备的网络拓扑的另一种实施例图;
图4是本发明中二级代理节点与一级代理节点在注册过程中的信令交互示意图;
图5是本发明中一级代理节点更新内网服务注册表的流程图;
图6是本发明中一级代理节点接收到指向内网web服务的访问请求时的处理流程图;
图7是本发明中一级代理节点接收到转发链接的访问请求时的处理流程图;
图8是本发明中外网主机访问内网设备的网络拓扑的通信连接示意图;
图9是本发明中参数映射方式下两级代理节点的模块图;
图10是本发明中子域名映射方式下两级代理节点的模块图。
具体实施方式
首先,必须说明的是,本发明的实施例所提供的技术方案适用于能够提供web服务的内网设备,内网web服务均具有内网URL,包含内网服务地址,用于内网访问;本发明中的URL改写主要为内网web服务映射相应的外网URL,用于外网访问。
本发明中内网与局域网(Local Area Network,LAN))为同一概念,在同一内网或局域网内的内网设备彼此之间可以直接通过内网URL实现web服务的访问,不同内网或局域网内的内网设备彼此之间无法直接通过内网URL实现web服务的访问。这样的内网设备包括但不局限于某些具有特定处理能力的设备,如编码器、转换器等视频处理类设备,还包括专门用来提供web服务的服务器。
本发明中外网与广域网(Wide Area Network,WAN)、公网为同一概念,对于某一内网设备,由于其不具备公网地址,外网主机不能直接通过其内网URL访问该内网设备所提供的内网web服务。本发明中所称外网主机,仅用于区分其与内网设备所处的网络相对关系,并非对外网主机做性能上的特殊限定。
下面结合实施例对本发明作更进一步的说明。
本发明中外网访问内网web服务的网络拓扑结构包括两级代理,分别为部署在外网的一级代理节点和部署在内网的二级代理节点,一级代理节点具有独立的公网地址,二级代理节点不具有独立的公网地址,二级代理节点可以通过内网URL直接访问与其在同一局域网的内网设备。具体实现时,可以部署多个二级代理节点,与内网设备一一对应,也可以由同一局域网内的内网设备共享一个二级代理节点。由于采用两级代理,本发明的网络拓扑结构适用于内网设备部署在多个内网的场景。
具体的,如图2所示的实施例中,局域网LAN内,二级代理节点1对应内网设备1,二级代理节点2对应内网设备2,二级代理节点1和二级代理节点2均与一级代理节点建立通信连接,例如:外网主机的浏览器依次经由一级代理节点和二级代理节点1可以实现对内网设备1所提供的内网web服务进行访问。
如图3所示的实施例中,二级代理节点11部署在局域网LAN1内,可以直接通过内网设备11和内网设备12的内网URL实现对其内网web服务的访问;二级代理节点12部署在局域网LAN2内,可以直接通过内网设备13和内网设备14的内网URL实现对其内网web服务的访问,外网主机的浏览器依次通过一级代理节点和二级代理节点11可以实现对内网设备11所提供的内网web服务进行访问。
本发明中一级代理节点和二级代理节点采用常见通信协议建立通信连接,如WebSocket通信协议、传输控制协议(Transmission Control Protocol,TCP)。外网主机与一级代理节点之间、二级代理节点与内网设备之间所采用的传输协议为超文本传输协议(Hypertext Transfer Protocol,HTTP)或超文本传输安全协议(Hyper Text TransferProtocol over SecureSocket Layer,HTTPS),HTTPS协议是在HTTP协议的基础上加入安全套接字协议(Secure Sockets Layer,SSL),两种协议在本发明核心方案上并无区别,故下文仅以HTTP协议为例介绍。
基于HTTP协议,外网主机针对某一目标内网设备发起访问请求时,请求报文经由一级代理节点、二级代理节点发送至该目标内网设备,目标内网设备根据请求报文作出响应,响应报文经由二级代理节点、一级代理节点发送至外网主机,实现一个访问闭环。
下文将以外网主机访问一个目标内网设备的web服务为例,对本发明中通过两级代理实现外网主机访问内网设备的方法进行具体介绍。
在本发明中需要首先为内网设备在一级代理节点和二级代理节点之间建立专用通信连接通道,二级代理节点根据配置信息主动与一级代理节点建立连接并完成内网设备的注册,此处的配置信息包括一级代理节点的URL以及内网服务相关信息,一级代理节点的URL包括其用于外网访问的服务地址,即IP地址或域名,后文将对配置信息做进一步详细介绍。
如图4所示,二级代理节点主动与一级代理节点建立连接,并等待连接响应;待收到一级代理节点发送的连接成功的响应后,发送注册消息,该注册消息中包括了内网服务标识(图中简称服务ID);在一级代理节点处维护有内网服务注册表,一级代理节点判断该内网服务标识未被注册则将其插入该内网服务注册表中,完成注册;二级代理节点在接收到注册成功的响应后表明相应的内网设备在二级代理节点和一级代理节点之间已经存在通信连接通道,该通信连接通道具有唯一的连接标识(图中简称连接ID)。
结合图4和图5,一级代理节点在监测到新的连接后,向二级代理节点发送身份验证消息,二级代理节点向一级代理节点发送身份验证响应;若一级代理节点未接收到身份验证响应,表明与其建立连接的二级节点非合法连接,则关闭相应连接;一级代理节点若接收到身份响应,表明与其建立连接的二级代理节点为合法连接,便向二级代理节点发送连接成功的响应,并等待一级代理节点发送注册消息;一级代理节点在接收到包含有内网服务标识的注册消息后,在内网服务注册表中查询该内网服务标识;若内网服务注册表中存在该内网服务标识,则表明该内网服务标识已被占用,一级代理节点向二级代理节点发送注册失败的消息并关闭连接;若内网服务注册表中不存在该内网服务标识,则在内网服务注册表中添加该内网服务标识,关联本次连接的连接标识与该内网服务标识,存储至内网服务注册表中,并向代理节点发送注册成功的消息。
在图5所示的实施例中,一级代理节点还会定时发送心跳消息,若能够收到某一连接所对应的内网设备发送的心跳响应,则保持该连接关系;若相应连接未收到心跳响应,则在内网服务注册表中删除该连接标识与其所对应的内网服务标识的关联信息,并释放该连接,这样的操作便于释放连接资源,也便于一级代理节点即时通知外网主机能够访问的内网服务发生变化。
本实施例中,通过一级代理节点发送身份验证消息以及代理节点发送身份验证响应来保证连接的合法性,以防止非法设备占用一级代理节点的连接资源。可以通过配对的信令来实现,存在两种情况,一种是二级代理节点在接收到身份验证消息的信令后无法解析该信令,因而不会返回对应信令;一种是即便二级代理节点能够解析该信令,返回的信令不符合身份验证响应规则,均表明此二级代理节点所建立的连接非合法连接。
上述内网服务标识是某个内网设备能够有效区别于其他内网设备的唯一标识,内网服务标识可以是数字、字母或者两者的结合。本发明中将基于内网服务标识改写URL,为内网web服务生成其外网URL。因而,为了便于用户访问,较佳的选择是能够便于用户区分和记忆的标识。
下文将内网服务标识的配置做具体介绍。
上述二级代理节点在主动建立连接时所依据的配置信息与一级代理节点处所维护的内网服务注册表信息高度关联。下文将对结合图4中内网服务注册表中的示例对二级代理节点处的配置信息做进一步介绍。与一级代理节点处的内网服务注册表相对应,在二级代理节点处维护有配置信息表,每个二级代理节点处的配置信息表中包括与其所在局域网中所有内网设备的与内网服务相关的信息,如:内网域名、内网IP地址、内网服务描述信息、内网服务标识、密钥等,内网域名和内网IP地址统称为内网服务地址。配置信息表中还包括了一级代理节点的相关信息,如:一级代理节点的URL,其URL包括用于外网访问的服务地址,即域名或IP地址。
对于某一内网设备,其内网域名、内网IP地址虽然与其所在的局域网里其他内网设备不同,但很有可能与其他局域网里的某个内网设备相同。如图3所示存在两个以上不同局域网的情况下,局域网LAN1中内网设备11与内网设备12的内网域名以及内网IP地址必然不同,但内网设备11与局域网LAN2中内网设备13的内网域名或内网IP地址很有可能相同,此种情况并不会影响各内网设备在各自局域网内通过地址寻找的方式找到目标内网设备。
本发明的网络拓扑结构能够在不改变原有网络结构和管理的基础上实现外网主机访问内网web服务,因而用户在进行网络配置时简单易行。具体实现时可通过向用户提供配置页面的方式供用户操作,结合图3和图4,内网设备11所对应的内网域名为test1.com,内网IP地址为192.168.1.100,内网服务描述信息为访问编码器主页面,内网服务标识为bmq11;内网设备12所对应的内网域名为test2.com,内网IP地址为192.168.1.101,内网服务描述信息为访问编码器主页面,内网服务标识为bmq12;内网设备11所对应的内网域名为test3.com,内网IP地址为192.168.1.110,内网服务描述信息为访问解码器主页面,内网服务标识为jmq13。如上所述,内网服务标识与连接标识存在唯一对应关系。需要说明的是,若不同局域网中各内网设备的内网域名各不相同,则内网服务标识可以设置为相应内网设备的内网域名,若各内网设备的内网IP地址各不相同,则内网服务标识可以设置为相应内网IP地址。在某些实施例中可以在配置页面附带对各内网设备信息的配置要求说明,便于用户操作;同时,可以结合图5所示实施例中将一级代理节点发送的注册失败消息通过页面进行显示,以提醒用户修改内网服务标识后再重新发送注册请求。当然在某些实施例中可以通过特定程序实现内网服务标识的自动生成,以使用户配置操作更加简便。
由于本发明的一级代理节点处维护有内网服务注册表,当用户通过外网主机的web浏览器使用HTTP协议访问一级代理节点时,就能够获得允许访问的内网服务列表,因此,外网主机的用户可以了解所允许访问的内网web服务的外网URL,点击这些访问链接,外网主机的浏览器就会向一级代理节点发送一个包含该web服务的服务标识的HTTP请求报文。为了便于外网主机的用户获取内网服务的更多相关信息,可以在图4所示的注册过程中,根据代理节点处的配置信息表对内网服务注册表中的web服务相关信息进行完善,例如添加内网服务描述信息,这样外网用户所获得的内网服务列表中便可进一步包括允许访问的内网服务描述信息,用户可以根据该信息快速确定目标内网服务的外网URL。简而言之,本领域技术人员在实现本发明方案时,一级代理节点处所维护的内网服务注册表在维护连接标识和内网服务标识的基础上,可以对配置信息表中的其他信息进行选择性维护。
下文将对HTTP URL改写方式做具体介绍,内网服务标识是URL改写的关键。一级代理节点根据预设映射方式,基于内网服务标识为内网设备提供的web服务进行URL改写生成指向该web服务的外网URL。
本发明中采用两种映射方式,参数映射方式和子域名映射方式。
基于参数映射方式的URL改写,核心是在一级代理节点的URL上添加保留参数,将内网设备的内网服务标识作为该保留参数的赋值。以图3中所示内网设备11为例,其内网服务标识为bmq11,一级代理节点的URL为http:// proxy.com,域名为proxy.com,将sc_target参数作为保留参数,则图3中的内网设备11对应的外网URL为http://proxy.com
Figure DEST_PATH_IMAGE001
sc_target=bmq11。
基于子域名映射方式的URL改写,核心是将内网服务标识作为一级代理节点外网URL中域名部分的子域名,该方式需要具备域名解析功能,则图3中的内网设备11对应的外网URL为http:// bmq11.proxy.com。
此方式需要在域名解析配置中设置泛解析规则,利用通配符匹配所有子域名字段,使得所有子域名均指向一级代理节点。例如:一级代理节点的域名为proxy.com,则将*.proxy.com也配置指向该一级代理节点。当一级代理节点具有多个域名时,也可以用其他域名来完成该功能,简而言之,只需要一级代理节点已知该规则中的非通配符字段配置即可。
下文将介绍一级代理节点接收到指向目标web服务的外网URL的访问请求时的处理流程。依据http请求报文的格式,根据上述预设映射方式提取请求报文中的内网服务标识,在内网服务注册表中获取与内网服务标识对应的连接标识;一级代理节点利用连接标识对应的通信连接通道将请求报文发送至相应的二级代理节点。
基于不同的映射方式,一级代理节点从外网主机所发送的访问请求报文中提取内网服务标识的方式也不同。
具体的,若外网主机用户通过浏览器地址栏输入或者点击内网服务列表(通过访问一级代理节点获得)中目标内网服务的外网URL,即外网主机通过内网服务的外网URL发送访问请求时,如图6所示,一级代理节点在接收到该访问请求,执行解析请求报文的步骤,以获取内网服务标识,具体包括如下内容:
判断该访问请求的URL映射方式,若为参数映射方式,则执行步骤101至步骤103,若为子域名映射方式,则执行步骤201至步骤203。
基于参数映射方式的http请求报文解析,获取内网服务标识的步骤包括:
步骤101,对请求报文中的URL参数信息进行解析;
步骤102,判断该URL参数信息中是否包含了保留参数,是则进入步骤103,否则进入步骤400;
步骤103,提取该保留参数所对应的赋值作为内网服务标识(图中简称服务ID),进入步骤300。
具体的,设目标内网服务的外网URL为http://proxy.com
Figure 675045DEST_PATH_IMAGE001
sc_target=bmq11,一级代理节点根据相应的访问请求判断出URL映射方式为参数映射方式,则按照步骤101根据现有URL规则即可实现参数信息解析,按照步骤102判断URL参数信息中包含了保留参数sc_target,按照步骤103提取该保留参数所对应的赋值bmq11,将该赋值作为目标内网设备的内网服务标识。
基于子域名映射方式的请求报文解析,获取内网服务标识的步骤包括:
步骤201,对请求报文头部的主机字段中包含的域名信息进行解析;
步骤202,判断所包含的域名信息是否符合上述泛解析规则,若是则表明访问请求指向一级代理节点,进入步骤203,否则进入步骤400;
步骤203,通配符所对应的子域名字段作为目标web服务对应的内网服务标识,进入步骤300。
具体的,子域名映射方式的解析需要外部域名解析的配合,设目标内网服务的外网URL为http:// bmq11.proxy.com,一级代理节点根据域名泛解析规则的定义判断出URL映射方式为子域名映射方式,则按照步骤201一级代理节点对收到的web请求头部主机字段中的域名做解析,按照步骤202判断访问的域名[bmq11]. proxy.com符合泛解析中的规则*.proxy.com,则按照步骤203提取出通配符*对应的子域名字段bmq11,将其作为目标内网设备的内网服务标识。
图6所示的实施例中,当一级代理节点对请求报文进行解析后,对于两种映射方式后续的步骤是一致的,如下步骤300至步骤302。
步骤300,在内网服务注册表中查找该赋值所对应的连接标识(图中简称连接ID),若存在该连接标识,进入步骤301,否则进入步骤400。
步骤301,对请求报文进行压缩和加密(是否加密可根据配置进行选择)。
步骤302,一级代理节点发送请求报文到连接标识对应的二级代理节点。
二级代理节点对请求报文进行解压缩和解密(对应加密),根据连接标识获取到目标内网设备的内网服务地址,根据上述预设映射方式利用目标内网设备的内网服务地址对请求报文进行改写,并向目标内网设备发送改写后的请求报文。
相应的,依据http请求报文的格式,基于不同的映射方式,二级代理节点对外网请求报文改写的方式也会不同。仍以图3中内网设备11为例,如上所述,二级代理节点在配置信息表中通过连接标识找到其对应的内网域名为test1.com,在参数映射方式下,改写外网URL http://proxy.com
Figure 61027DEST_PATH_IMAGE001
sc_target=bmq11所对应请求报文头部的主机字段proxy.com为其内网域名test1. com,去除其外网中的保留参数,最终得到目标内网服务的内网URL为http://test1.com。在子域名映射方式下,改写外网URL http:// bmq11.proxy.com所对应请求报文头部的主机字段proxy.com为其内网域名test1.com,得到目标web服务的内网URL为http://test1.com。本实施例仅以内网域名为例,也可以将主机信息修改为内网IP地址。
相比而言,对于本发明中的子域名映射方式相较于参数映射方式,该方式通过子域名的方式来确定目标内网服务,真正做到了cookie隔离,相对于通过虚拟路径来进行内网web映射的方式,具有更宽的适用范围,真正解决了同一代理服务器代理多web服务时因cookies冲突导致访问出错或者失败的问题。
一般而言,当外网主机经过一级代理节点、二级代理节点发送的请求报文到达目标内网设备时,目标内网设备发送对应目标web服务的响应报文,响应报文依次经由二级代理节点、一级代理节点返回至外网主机,响应报文最终以页面的形式在外网主机的浏览器上显示。
依据http响应报文的格式,内网服务提供的响应报文包括两种情况:一种是存在相对路径和绝对路径,即相对引用的URL;另一种存在指向其它web服务的完整URL,完整的URL指向外网服务或内网服务,内网服务是指目标内网设备所在内网中其他内网设备提供的web服务。
完整URL是指包含协议、主机名和路径的链接的形式。相对引用的URL,是指HTTP报文中不包含传输协议和主机地址,只包含相对于本服务器根目录绝对路径的链接;具体的,路径开头的“/”表示根目录,后面的内容说明了所要访问的目录和页面;由于不包含传输协议和主机地址,则默认使用当前页面的传输协议和源主机,例如“/abc/hello.htm”,等;由于绝对路径指向的是内网web服务的一个固定目录,因而如果用户直接向一级代理节点请求这样的路径,一级代理节点无法找到对应的内网设备,因此需要对绝对路径关联其所属的内网web服务。相对路径,即与绝对路径相比,HTTP报文中所包含的路径不是网站的根目录,而是相对于当前网页的路径;具体的,路径开头的“..”表示当前页面的父目录,例如,若当前页面的路径为“/a/b/hello.html”,则“../c/login.html”表示的路径就是“/a/c/login.html”,这些相对引用因为不带任何内网服务标识,所以通常需要对其做处理关联所属内网web服务。
因此,一级代理节点需要对其接收到的内网服务的响应报文进行URL改写后再发送给外网主机。
针对第一种情况,在参数映射方式下,根据URL协议,需要找到响应报文中所有相对引用的URL,并将当前内网服务的内网服务标识作为保留参数添加上去即可,具体的,设指向内网URL为http://test1.com的内网服务返回的响应报文中包含绝对路径“/abc/hello.htm”,则将该绝对路径对应的URL改写为/abc/hello.htm
Figure 44027DEST_PATH_IMAGE001
sc_target=bmq11。当外网用户通过访问指向相对引用的URL的服务时,浏览器在响应报文中取到的则是添加了标识参数的URL,向一级代理节点发送web请求,随后一级代理节点按照图7所示步骤进行执行。
在子域名映射方式下,因为其域名中已经关联了内网服务,当外网用户访问指向相对引用的URL的内网服务时,浏览器按照web标准根据相对引用结合当前域名生成的完整URL即可被一级代理节点识别出对应的内网服务器,因而无需对内网服务返回的响应报文做任何的分析和处理,极大地降低了一级代理节点的性能需求。
因而,通过在URL中添加保留参数指定目标内网服务标识的参数映射方式来访问内网web服务,不需要域名解析的配合,但更适合相对路径或绝对路径较少的web服务,如接口类型,其响应报文中不存在相对路径或绝对路径。
针对第二种情况,则需要加入重定向环节,对完整的URL进行改写,将完整的URL作为一级代理节点转发接口的参数。例如响应报文中所包含的完整的URL为http://test2.com/hello.html,将被改写为http://proxy.com/redirect,url=http://test2.com/hello.html作为其转发链接。
一般情况下,响应报文中完整URL的主机名为域名,故而本发明仅对此种常见方式进行说明,具体实现时,在考虑重定向时,对于注册成功的内网设备,一级代理节点处的内务服务注册表中还维护内网域名,与连接标识和内网服务标识关联。
如图7所示,当外网主机用户通过重定向链接发送请求时,一级代理节点判断该请求为转发请求,则执行如下步骤:
步骤501,解析逗号“,”后URL地址所指向的域名;
步骤502,在内网服务注册表中查找该域名是否存在映射,是则表明该域名为内网域名,进入步骤503;否则表明该域名为外网域名,发送响应报文重定向到逗号后的URL地址;
步骤503,判断预设映射方式,若采用参数映射方式,则进入步骤504,若采用子域名映射方式,则进入步骤505;
步骤504,改写URL地址,将内网域名改写为一级代理节点的域名,在内网服务注册表中查找该内网域名对应的内网服务标识,并将该内网服务标识作为保留参数,得到该内网服务的外网URL;进入步骤506;
步骤505,改写URL地址,在内网服务注册表中查找该内网域名对应的内网服务标识,并将该内网服务标识作为一级代理节点的子域名,得到该内网服务的外网URL;进入步骤506;
步骤506,发送响应报文重定向到修改后的外网URL。
对于外网主机的浏览器,在接收到步骤506响应报文后,根据HTTP协议,会访问报文中指定的新地址,如果该新地址为一级代理节点,一级代理节点在接收到web访问请求后,此时的请求便不再是转发请求,故而会进入步骤200,步骤200为解析请求报文的步骤,该步骤包括图6所示步骤,此处不再赘述。
在考虑重定向时,本发明实施例主要针对内网服务注册表中各内网设备具备不同的内网域名的情况,故而如上文所述,在注册时,可以各内网设备的内网域名作为其内网服务标识,如此,内网服务注册表中便不用维护内网域名,响应的步骤504和步骤505中便可直接利用内网域名进行URL改写。
本发明中,针对单个内网web服务,二级代理仅与一级代理建立一条双向通讯连接,实际应用场景中,同一时间可能会有多个外网主机建立多条通信连接访问同一个内网web服务,如图8所示的连接a、连接b和连接c,均用于向内网设备11发送访问请求。然而,本发明中二级代理节点在进行内网服务注册表初始化时,针对一个内网设备仅建立一个通信连接,故而需要考虑如何在一个双向连接上传输多条连接的http报文数据。根据http标准中针对http请求及响应的关联定义,一个连接上发送的请求,必定在该连接上得到响应并且按照顺序对应请求和响应,根据这条定义,本发明中建立http连接和http报文的映射关系,设定一种数据包格式,包的内容为http请求报文,在包头包含该报文所对应的请求标识(连接a),找到内网web服务对应的连接后发送到相应的二级代理节点,二级代理节点解析包头获取到请求标识(连接a),与目标内网设备建立(连接a',与连接a对应)或复用一条http连接(是否复用根据本地是否已经建立了采用连接a'连接),将包的内容及请求报文改写后发送给目标内网设备,然后获取响应报文,二级代理节点将响应报文作为包内容,包头设置请求标识(连接a),将包通过其与一级代理节点之间的连接(每个内网设备仅具备唯一此类连接)发送回一级代理节点,一级代理节点收到数据包后,根据包头的标识找到对应的请求标识(连接a),对响应报文做必要的改写后发送给外网主机。同理,图8中连接b'与连接b对应,连接c'与连接c对应,不再赘述。
下文将对本发明中外网主机访问内网设备的网络拓扑结构做详细介绍,结合图2和图3,该网络拓扑结构包括部署于外网的一级代理节点和部署于内网的二级代理节点。本发明中,基于参数映射方式和子域名映射方式下一级代理节点和二级代理节点采用基本相同的模块结构,下文将结合图9和图10所示,先介绍两种映射方式下相同的模块结构,再对两者模块结构的区别做补充介绍。
在两种映射方式下,一级代理节点均包括:
映射存储模块,维护内网服务注册表,对于注册成功的内网设备,在内网服务注册表中存储其连接标识和内网服务标识的一一对应关系;
URL改写模块,包括URL初始改写单元,根据预设映射方式,基于内网服务标识为内网设备提供的web服务进行URL改写生成指向web服务的外网URL;
请求报文解析模块,在接收到指向目标web服务的外网URL的访问请求时,根据预设映射方式提取请求报文中的内网服务标识,在内网服务注册表中获取与该内网服务标识对应的连接标识;利用连接标识对应的通信连接通道将所述请求报文发送至相应的二级代理节点;
二级代理节点均包括:
配置注册模块,为二级代理节点所在内网中的内网设备在相应二级代理节点和一级代理节点之间建立专用通信连接通道并发起注册请求,通信连接通道具有唯一的连接标识,注册请求中包含内网服务标识;配置注册模块维护有配置信息表,对于注册成功的内网设备,配置信息表中存储其连接标识和内网服务地址的一一对应关系;
请求报文改写模块,接收请求报文解析模块发送的请求报文,根据连接标识获取到目标内网设备的内网服务地址,根据预设映射方式利用目标内网设备的服务地址对请求报文进行改写,并向目标内网设备发送改写后的请求报文。
上述二级代理节点处配置信息表与一级代理节点处内网服务注册表根据具体实现可所维护其他信息,如上文所述,此处不再赘述。
如上文所述,依据http响应报文格式,内网服务提供的响应报文包括两种情况:相对引用的URL和指向其它web服务的完整的URL。对于完整的URL,需要一级代理节点为其进行重定向。如图9和图10所示,本发明中,一级代理节点的URL改写模块还可包括完整URL改写单元,完整URL改写单元将完整的URL作为一级代理节点转发接口的参数得到对应的转发链接;完整的URL指向外网服务或内网服务,内网服务是指目标内网设备所在内网中其他内网设备提供的web服务;相应的,一级代理节点还包括响应报文判断模块,判断其接收到的响应报文中是否包含完整的URL,若是,则经过该完整URL改写单元对响应报文进行改写后再发送。
这种情况下,一级代理节点在接收到指向重定向的URL的访问请求时,需要先对重定向的URL进行解析,如上文所述,一级代理节点处所维护的内网服务注册表在维护连接标识和服务标识的基础上,可以对配置信息表中的其他信息进行选择性维护。此种情况下,对于任意注册成功的内网设备,内网服务注册表中还对应有唯一内网域名,与其连接标识和服务标识相关联。所述如图9和图10所示,一级代理节点还可进一步包括:重定向URL解析单元,用于解析转发链接中逗号后完整的URL所指向的域名;判断所指向的域名是否为内网服务注册表中存储的内网域名,若是则表明所述完整的URL指向内网服务,则经过上述URL初始改写单元对完整的URL进行URL改写,生成其所指向web服务的外网URL;
请求判断模块,用于判断一级代理节点接收到的访问请求是否为转发请求,是则交由重定向URL解析单元对相应的转发链接进行处理。
如上文所述,同一时间可能会有多个外网主机建立多条通信连接访问同一个内网web服务,针对这种情况,如图9和图10所示,本发明中的一级代理节点还可进一步包括:请求报文封装模块,用于对接收到的每个访问请求添加请求标识重新封装后再发送给相应的二级代理节点;二级代理节点还包括:响应报文封装模块,用于接收目标内网设备的响应报文,在响应报文中添加其对应的请求标识重新封装后再发送给一级代理节点。
下文将针对两种映射方式下模块结构的区别做进一步介绍。
具体的,若预设映射方式为参数映射方式,则对于某一内网设备,上述URL初始改写单元对该内网设备提供的web服务进行URL改写,包括:在一级代理节点的URL上添加保留参数;将该内网设备的内网服务标识作为保留参数的赋值。
相应的,在参数映射方式下,依据http请求报文格式,针对某一目标web服务,一级代理节点的请求报文解析模块,对请求报文中的URL参数信息进行解析,判断该URL参数信息中是否包含了保留参数,若是则提取该保留参数所对应的赋值作为内网服务标识。
相应的,依据http请求报文格式,对于某一目标web服务,图9中二级代理节点内的请求报文改写模块对接收到的请求报文进行改写,包括:删除请求报文中指向该目标web服务的外网URL的保留参数;将请求报文头部的主机字段赋值为相应目标内网设备的内网服务地址。
与子域名映射方式相区别的是,在参数映射方式下,如图9所示,一级代理节点的URL改写模块还包括相对URL改写单元,依据http响应报文格式,针对某一目标web服务,对其响应报文中所有相对引用的URL后添加所述保留参数,并将该目标web服务对应的内网服务标识作为保留参数的赋值;其响应报文判断模块还需判断一级代理节点接收到的响应报文中是否包含相对引用的URL,若是,则经过该相对URL改写单元对该响应报文进行改写后再发送。
具体的,若预设映射方式为子域名映射方式,对于某一内网设备,则图10中,URL初始改写单元对其提供的web服务进行URL改写,包括:将该内网设备的内网服务标识作为一级代理节点URL的子域名字段;子域名映射方式需要外部域名解析的配合,本发明中在域名解析配置中设置泛解析规则,利用通配符匹配所有子域名字段,使得所有子域名均指向一级代理节点。
相应的,依据http请求报文格式,针对某一目标web服务,一级代理节点的请求报文解析模块根据所述子域名映射方式提取请求报文中的内网服务标识,包括:对请求报文头部的主机字段中包含的域名信息进行解析;判断所包含的域名信息是否符合上述泛解析规则,若是则提取通配符所对应的子域名字段作为该目标web服务对应的内网服务标识。
相应的,对于该目标web服务,二级代理节点的请求报文改写模块对接收到的请求报文进行改写,包括将请求报文头部的主机字段赋值为其对应的目标内网设备的内网服务地址。
以上详细描述了本发明的优选实施方式,但是,本发明并不限于上述实施方式中的具体细节,在本发明的技术构思范围内,可以对本发明的技术方案进行多种等同变换,这些等同变换均属于本发明的保护范围。

Claims (20)

1.一种外网主机访问内网设备的方法,所述内网设备能够提供web服务,其特征在于,该方法通过部署于外网的一级代理节点和部署于内网的二级代理节点实现,包括以下步骤:
所述二级代理节点将其所在内网中的内网设备在所述一级代理节点处进行注册,形成内网服务注册表,对于注册成功的内网设备,在所述一级代理节点和二级代理节点之间存在专用通信连接通道,在所述内网服务注册表中所述通信连接通道具有唯一的连接标识,并对应唯一的内网服务标识;
所述一级代理节点根据预设映射方式,基于所述内网服务标识为所述内网设备提供的web服务进行URL改写生成指向所述web服务的外网URL;
所述一级代理节点在接收到指向目标web服务的外网URL的访问请求时,根据所述预设映射方式提取请求报文中的内网服务标识,在所述内网服务注册表中获取与所述内网服务标识对应的连接标识;
所述一级代理节点利用所述连接标识对应的通信连接通道将所述请求报文发送至相应的二级代理节点;
所述二级代理节点根据所述连接标识获取到目标内网设备的内网服务地址,根据所述预设映射方式利用所述目标内网设备的内网服务地址对所述请求报文进行改写,并向目标内网设备发送改写后的请求报文;
所述目标内网设备接收所述改写后的请求报文,发送所述目标web服务的响应报文,所述响应报文依次经由所述二级代理节点、一级代理节点返回至所述外网主机。
2.根据权利要求1所述的外网主机访问内网设备的方法,其特征在于,所述预设映射方式为参数映射方式,对于某一内网设备,所述一级代理节点对其提供的web服务进行URL改写,包括步骤:
在所述一级代理节点的URL上添加保留参数;
将所述某一内网设备的内网服务标识作为所述保留参数的赋值。
3.根据权利要求2所述的外网主机访问内网设备的方法,其特征在于,对于某一目标web服务,所述二级代理节点对接收到的请求报文进行改写,包括步骤:
删除请求报文中指向所述某一目标web服务的外网URL的保留参数;
将请求报文头部的主机字段赋值为相应目标内网设备的内网服务地址。
4.根据权利要求3所述的外网主机访问内网设备的方法,其特征在于,若所述某一目标web服务的响应报文中包含相对引用的URL,则所述一级代理节点在接收到所述响应报文后,对其进行URL改写后再发送给所述外网主机;
所述URL改写是指在所述响应报文中所有相对引用的URL后添加所述保留参数,并将所述某一目标web服务对应的内网服务标识作为所述保留参数的赋值。
5.根据权利要求1所述的外网主机访问内网设备的方法,其特征在于,所述预设映射方式为子域名映射方式,对于某一内网设备,所述一级代理节点对其提供的web服务进行URL改写,包括步骤:
将所述某一内网设备的内网服务标识作为所述一级代理节点的URL的子域名字段;
在域名解析配置中设置泛解析规则,利用通配符匹配所有子域名字段,使得所有子域名均指向所述一级代理节点。
6.根据权利要求5所述的外网主机访问内网设备的方法,其特征在于,针对某一目标web服务,所述一级代理节点根据所述子域名映射方式提取所述请求报文中的内网服务标识,包括步骤:
对所述请求报文头部的主机字段中包含的域名信息进行解析;
判断所包含的域名信息是否符合所述泛解析规则,若是则提取通配符所对应的子域名字段作为所述某一目标web服务对应的内网服务标识。
7.根据权利要求6所述的外网主机访问内网设备的方法,其特征在于,对于所述某一目标web服务,所述二级代理节点对接收到的请求报文进行改写,包括步骤:
将请求报文头部的主机字段赋值为其对应的目标内网设备的内网服务地址。
8.根据权利要求1所述的外网主机访问内网设备的方法,其特征在于,若某一目标web服务的响应报文中包含完整的URL,则所述一级代理节点需对其进行重定向,将所述完整的URL作为所述一级代理节点转发接口的参数得到对应的转发链接;
所述完整的URL指向外网服务或内网服务,所述内网服务是指目标内网设备所在内网中其他内网设备提供的web服务。
9.根据权利要求8所述的外网主机访问内网设备的方法,其特征在于,对于所述注册成功的内网设备,所述内网服务注册表中还对应有唯一内网域名,所述内网域名关联所述连接标识和服务标识;所述一级代理节点接收到指向转发链接的访问请求时,执行以下步骤:
解析所述转发链接中逗号后完整的URL所指向的域名;
判断所指向的域名是否为所述内网服务注册表中存储的内网域名,若是则表明所述完整的URL指向内网设备提供的web服务,根据所述预设映射方式,基于所述内网域名对应的内网服务标识对所述完整的URL进行URL改写,生成其所指向的web服务的外网URL。
10.根据权利要求1所述的外网主机访问内网设备的方法,其特征在于,若接收到多个指向同一目标web服务的访问请求时,该方法还包括步骤:
对于接收到的每个访问请求,所述一级代理节点为对应的请求报文添加请求标识重新封装后再发送给相应的二级代理节点;
所述二级代理节点接收经过重新封装后的请求报文,针对每个请求报文,根据所述预设映射方式进行改写后发送给目标内网设备;
所述二级代理节点接收所述目标内网设备的响应报文,在所述响应报文中添加其对应的请求标识重新封装后再发送给所述一级代理节点;
所述一级代理节点根据所述请求标识,向每个访问请求发送其对应的响应报文。
11.一种基于外网主机访问内网设备的网络拓扑结构的网络系统,所述内网设备能够提供web服务,其特征在于,该网络拓扑结构包括部署于外网的一级代理节点和部署于内网的二级代理节点;
所述一级代理节点包括:
映射存储模块,维护内网服务注册表,对于注册成功的内网设备,在所述内网服务注册表中存储其连接标识和内网服务标识的一一对应关系;
URL改写模块,包括URL初始改写单元,根据预设映射方式,基于所述内网服务标识为所述内网设备提供的web服务进行URL改写生成指向所述web服务的外网URL;
请求报文解析模块,在接收到指向目标web服务的外网URL的访问请求时,根据所述预设映射方式提取请求报文中的内网服务标识,在所述内网服务注册表中获取与所述内网服务标识对应的连接标识;利用所述连接标识对应的通信连接通道将所述请求报文发送至相应的二级代理节点;
以及,所述二级代理节点包括:
配置注册模块,为所述二级代理节点所在内网中的内网设备在相应二级代理节点和所述一级代理节点之间建立专用通信连接通道并发起注册请求,所述通信连接通道具有唯一的连接标识,所述注册请求中包含内网服务标识;所述配置注册模块维护有配置信息表,对于注册成功的内网设备,所述配置信息表中存储其连接标识和内网服务地址的一一对应关系;
请求报文改写模块,接收所述请求报文解析模块发送的请求报文,根据所述连接标识获取到目标内网设备的内网服务地址,根据所述预设映射方式利用所述目标内网设备的服务地址对所述请求报文进行改写,并向所述目标内网设备发送改写后的请求报文。
12.根据权利要求11所述的基于外网主机访问内网设备的网络拓扑结构的网络系统,其特征在于,所述一级代理节点的URL改写模块还包括完整URL改写单元,将完整的URL作为所述一级代理节点转发接口的参数得到对应的转发链接;所述完整的URL指向外网服务或内网服务,所述内网服务是指目标内网设备所在内网中其他内网设备提供的web服务;
所述一级代理节点还包括响应报文判断模块,判断所述一级代理节点接收到的响应报文中是否包含完整的URL,若是,则经过所述完整URL改写单元对所述响应报文进行URL改写后再发送。
13.根据权利要求12所述的基于外网主机访问内网设备的网络拓扑结构的网络系统,其特征在于,对于所述注册成功的内网设备,所述内网服务注册表中还对应有唯一内网域名,所述内网域名关联所述连接标识和服务标识;所述一级代理节点还包括:
重定向URL解析单元,所述重定向URL解析单元解析转发链接中逗号后完整的URL所指向的域名;判断所指向的域名是否为所述内网服务注册表中存储的内网域名,若是则表明所述完整的URL指向内网服务,则经过所述URL初始改写单元对所述完整的URL进行URL改写,生成其所指向web服务的外网URL;
请求判断模块,所述请求判断模块判断所述一级代理节点接收到的访问请求是否为转发请求,是则交由所述重定向URL解析单元对相应的转发链接进行处理。
14.根据权利要求11所述的基于外网主机访问内网设备的网络拓扑结构的网络系统,其特征在于,所述一级代理节点还包括:
请求报文封装模块,所述请求报文封装模块对于接收到的每个访问请求添加请求标识重新封装后再发送给相应的二级代理节点;
所述二级代理节点还包括:
响应报文封装模块,接收所述目标内网设备的响应报文,在所述响应报文中添加其对应的请求标识重新封装后再发送给所述一级代理节点。
15.根据权利要求11所述的基于外网主机访问内网设备的网络拓扑结构的网络系统,其特征在于,所述预设映射方式为参数映射方式,对于某一内网设备,所述URL初始改写单元对其提供的web服务进行URL改写,包括:在所述一级代理节点的URL上添加保留参数;将所述某一内网设备的内网服务标识作为所述保留参数的赋值。
16.根据权利要求15所述的基于外网主机访问内网设备的网络拓扑结构的网络系统,其特征在于,所述一级代理节点的URL改写模块还包括相对URL改写单元,针对某一目标web服务,在其响应报文中所有相对引用的URL后添加所述保留参数,并将所述某一目标web服务对应的内网服务标识作为所述保留参数的赋值;
所述响应报文判断模块判断所述一级代理节点接收到的响应报文中是否包含相对引用的URL,若是,则经过所述相对URL改写单元对所述响应报文进行URL改写后再发送。
17.根据权利要求15所述的基于外网主机访问内网设备的网络拓扑结构的网络系统,其特征在于,对于某一目标web服务,所述请求报文改写模块对接收到的请求报文进行改写,包括:删除请求报文中指向所述某一目标web服务的外网URL的保留参数;将请求报文头部的主机字段赋值为相应目标内网设备的内网服务地址。
18.根据权利要求11至14中任意一项所述的基于外网主机访问内网设备的网络拓扑结构的网络系统,其特征在于,所述预设映射方式为子域名映射方式,对于某一内网设备,所述URL初始改写单元对其提供的web服务进行URL改写,包括:将所述某一内网设备的内网服务标识作为所述一级代理节点URL的子域名字段;在域名解析配置中设置泛解析规则,利用通配符匹配所有子域名字段,使得所有子域名均指向所述一级代理节点。
19.根据权利要求18所述的基于外网主机访问内网设备的网络拓扑结构的网络系统,其特征在于,针对某一目标web服务,所述请求报文解析模块根据所述子域名映射方式提取所述请求报文中的内网服务标识,包括:对所述请求报文头部的主机字段中包含的域名信息进行解析;判断所包含的域名信息是否符合所述泛解析规则,若是则提取通配符所对应的子域名字段作为所述某一目标web服务对应的内网服务标识。
20.根据权利要求18所述的基于外网主机访问内网设备的网络拓扑结构的网络系统,其特征在于,对于某一目标web服务,所述请求报文改写模块对接收到的请求报文进行改写,包括将请求报文头部的主机字段赋值为其对应的目标内网设备的内网服务地址。
CN202110323310.7A 2021-03-26 2021-03-26 一种外网主机访问内网设备的方法和网络拓扑结构 Active CN112714194B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110323310.7A CN112714194B (zh) 2021-03-26 2021-03-26 一种外网主机访问内网设备的方法和网络拓扑结构

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110323310.7A CN112714194B (zh) 2021-03-26 2021-03-26 一种外网主机访问内网设备的方法和网络拓扑结构

Publications (2)

Publication Number Publication Date
CN112714194A CN112714194A (zh) 2021-04-27
CN112714194B true CN112714194B (zh) 2021-06-18

Family

ID=75550310

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110323310.7A Active CN112714194B (zh) 2021-03-26 2021-03-26 一种外网主机访问内网设备的方法和网络拓扑结构

Country Status (1)

Country Link
CN (1) CN112714194B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113257404B (zh) * 2021-05-12 2023-06-23 山东志盈医学科技有限公司 病理远程会诊的通信方法及平台
CN113364741A (zh) * 2021-05-17 2021-09-07 网宿科技股份有限公司 一种应用访问方法及代理服务器
CN113472917B (zh) * 2021-07-27 2023-04-18 浪潮思科网络科技有限公司 一种数据报文的网络地址转换方法、设备及介质
CN113992382B (zh) * 2021-10-22 2024-04-05 北京京东振世信息技术有限公司 业务数据处理方法、装置、电子设备及存储介质
CN114422169B (zh) * 2021-12-07 2023-05-16 中国科学院国家授时中心 一种基于wcf技术的内外网数据展示系统及展示方法
CN114222005B (zh) * 2021-12-14 2024-04-26 中国建设银行股份有限公司 请求处理方法、装置、设备、计算机可读存储介质及产品
CN114745356B (zh) * 2022-03-29 2024-02-23 深信服科技股份有限公司 一种域名解析方法、装置、设备及可读存储介质
CN114945045B (zh) * 2022-05-18 2023-09-26 深圳渊联技术有限公司 网络服务响应方法、装置、网络设备和存储介质
CN115988080B (zh) * 2023-03-22 2023-06-13 北京首信科技股份有限公司 一种基于代理中间件的微服务资源调用方法和系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101242336A (zh) * 2008-03-13 2008-08-13 杭州华三通信技术有限公司 远程访问内网Web服务器的方法及Web代理服务器
CN110661858A (zh) * 2019-09-12 2020-01-07 南京博联智能科技有限公司 基于websocket的内网穿透方法及系统
CN111200655A (zh) * 2019-12-31 2020-05-26 北京奇才天下科技有限公司 一种基于代理服务器的内网访问方法、系统、电子设备

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI382717B (zh) * 2007-11-12 2013-01-11 D Link Corp A method of sharing resources by interconnecting a network terminal device of two private networks by a user agent
CN107659485B (zh) * 2017-10-31 2021-02-05 新华三技术有限公司 一种虚拟专用网络vpn中的设备与服务器通信的方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101242336A (zh) * 2008-03-13 2008-08-13 杭州华三通信技术有限公司 远程访问内网Web服务器的方法及Web代理服务器
CN110661858A (zh) * 2019-09-12 2020-01-07 南京博联智能科技有限公司 基于websocket的内网穿透方法及系统
CN111200655A (zh) * 2019-12-31 2020-05-26 北京奇才天下科技有限公司 一种基于代理服务器的内网访问方法、系统、电子设备

Also Published As

Publication number Publication date
CN112714194A (zh) 2021-04-27

Similar Documents

Publication Publication Date Title
CN112714194B (zh) 一种外网主机访问内网设备的方法和网络拓扑结构
US11362987B2 (en) Fully qualified domain name-based traffic control for virtual private network access control
US11683401B2 (en) Correlating packets in communications networks
US10356040B2 (en) System and method for suppressing DNS requests
US8537818B1 (en) Packet structure for mirrored traffic flow
US7730521B1 (en) Authentication device initiated lawful intercept of network traffic
US9819513B2 (en) System and method for suppressing DNS requests
CA3010741C (en) Method and system for automatically bypassing network proxies in the presence of interdependent traffic flows
KR100650843B1 (ko) 임의의 어플리케이션 타입이 있는 ip 네트워크에서네트워크 주소 변환을 사용하기 위한 방법 및 시스템
US7111065B2 (en) Method and apparatus for managing tunneled communications in an enterprise network
US9602411B2 (en) System and method for suppressing DNS requests
US20060020688A1 (en) System having generalized client-server computing
CN101136834B (zh) 一种基于ssl vpn的链接改写方法和设备
CN101902482A (zh) 基于IPv6自动配置实现终端安全准入控制的方法和系统
Yan et al. Is DNS ready for ubiquitous Internet of Things?
KR20190053170A (ko) Dns 요청을 억제하기 위한 시스템 및 방법
CN114006724A (zh) 一种加密dns解析器发现及认证的方法与系统
CN112870692A (zh) 一种游戏加速方法、加速系统、加速装置以及存储介质
TWI608749B (zh) 用來控制一客戶端裝置存取一網路裝置之方法以及控制裝置
EP4262148A1 (en) Network security with server name indication
CN113938474B (zh) 一种虚拟机访问方法、装置、电子设备和存储介质
CN114363083B (zh) 智能网关的安全防范方法、装置、设备
CN115695301A (zh) 待传输报文的发送方法及装置、存储介质及电子装置
CN117938801A (zh) 一种资源访问方法、装置、电子设备及介质
CN117544668A (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