代理服务器及跨网域通信方法与流程

文档序号:14879793发布日期:2018-07-07 09:23阅读:143来源:国知局

本申请主要涉及代理服务器的网络代理技术,特别涉及一种代理服务器能够解决跨网域通信所衍生的问题。



背景技术:

在架设网络的规划上,一般而言,由于考量到网络终端装置的隐私或安全性,通常会在内部网络(以下简称内网)与外部网络(以下简称外网)之间设置代理(proxy)服务器,使得内网与外网之间的通信必须通过代理服务器来进行。举例来说,当外网的网络终端装置要读取内网的某个网页服务器时,代理服务器会将网页存取请求转发给上述网页服务器,并且将上述网页服务器所提供的网页信息转发给外网的网络终端装置,除此之外,还会将上述网页服务器的网域名称(domainname)替换成另一个虚拟或自订的网域名称,如图1所示,网页服务器a的真实网域名称为domain-a.com,但是经过代理服务器的处理之后,外网的网络终端装置所看到的网域名称为domain-c.com。

也就是说,内网与外网之间的通信是经由非直接的连接,外网的网络终端装置不仅无法识别也无法直接存取内网的网页服务器。同时,内网的网页服务器也可以通过上述网络代理机制隐藏自己的网络协定(internetprotocol,ip)地址,除了可以避免受到来自外网的网络攻击之外,还可突破内容过滤机制的限制。

然而,对于跨网域的通信类型,由于内网的网页服务器的网域名称已被代理服务器替换成虚拟或自订的网域名称,因此,在跨网域的通信过程中,其他服务器可能无法辨识替换后的网域名称而拒绝接受存取,使得跨网域的通信无法正常运作。

在一常见的场景中,外网的网络终端装置从内网的网页服务器所取得的网页在载入过程中还需要再存取其他服务器的数据,例如:网页服务器a所提供的网页内容中可能会存在阶层样式表(cascadingstylesheets,css)或第三方的广告或图片等内容是需要从服务器b取得的。此时,由于网页服务器a的网域名称domain-a.com被代理服务器替换成domain-c.com,而服务器b仅接受网页服务器a的存取(表示服务器b仅接受来自domain-a.com这个网域名称的存取),所以服务器b会拒绝来自domain-c.com的存取,使得外网的网络终端装置在浏览上述网页时,网页中的这些阶层样式表或第三方的广告或图片等内容就无法被正常显示。

在另一常见的场景中,有些网页的认证机制会使用网域名称作为认证的参数之一,例如:外网的使用者连到内网的网页服务器a所提供的网页并输入帐号及密码想要登入时,网页服务器a会将帐号及密码连同其网域名称一同传送到认证服务器,认证服务器便可以得知这组帐号及密码是想要登入哪个网页服务器,并且进一步做认证。此时,由于对外网而言网页服务器a的网域名称domain-a.com已被代理服务器替换成domain-c.com,而认证服务器仅能识别这组帐号及密码是绑定到网页服务器a的真实网域名称domain-a.com,所以认证服务器会拒绝这个认证请求,导致认证失败。

在又一常见的场景中,某些网页的程序语言会使用网址做为沟通的目的地,例如:外网的网络终端装置在浏览器同时开启了网页服务器a所提供的网页a以及网页服务器b所提供的网页b,而网页b中存在一段javascript程序码表示网页b要传送”hello”这个字串到网页a的浏览器分页中。此时,由于网页服务器a的网域名称domain-a.com被代理服务器替换成domain-c.com,所以网页a的浏览器分页就无法正确收到从网页b来的信息。

因此,极需有一种跨网域通信方法以及使用上述方法的代理服务器,能够有效解决网络代理机制在跨网域通信所造成的上述问题。



技术实现要素:

本申请提供了一种代理服务器,包括通信装置以及控制器。上述通信装置用以提供网络连接至外网的网络终端装置以及内网的第一服务器与第二服务器,其中上述第一服务器具有在上述内网可识别的第一网域名称、以及在上述外网可识别的预定网域名称,上述第二服务器具有在上述内网可识别的第二网域名称。上述控制器用以当接收到来自上述网络终端装置的第一网页存取请求指示是由上述预定网域名称发向上述第二网域名称时,将上述第一网页存取请求中的上述预定网域名称替换为上述第一网域名称并根据上述第二网域名称将上述第一网页存取请求转送至上述第二服务器,当接收到来自上述第二服务器的第一网页存取回应指示是由上述第二网域名称发向上述第一网域名称时,将上述第一网页存取回应中的上述第一网域名称替换为上述预定网域名称并将上述存取回应传送至上述网络终端装置。

本申请还提供了一种跨网域通信方法,适用于代理服务器,上述代理服务器连接至外网的网络终端装置以及内网的第一服务器与第二服务器,其中上述第一服务器具有在上述内网可识别的第一网域名称、以及在上述外网可识别的预定网域名称,上述第二服务器具有在上述内网可识别的第二网域名称。上述跨网域通信方法包括以下步骤:当接收到来自上述网络终端装置的第一网页存取请求指示是由上述预定网域名称发向上述第二网域名称时,将上述第一网页存取请求中的上述预定网域名称替换为上述第一网域名称并根据上述第二网域名称将上述第一网页存取请求转送至上述第二服务器;以及当接收到来自上述第二服务器的第一网页存取回应指示是由上述第二网域名称发向上述第一网域名称时,将上述第一网页存取回应中的上述第一网域名称替换为上述预定网域名称并将上述存取回应传送至上述网络终端装置。

服务器以下结合附图和具体实施例对本发明进行详细描述,但不作为对本发明的限定。

附图说明

图1显示非跨网域通信的网络代理机制的示意图;

图2根据本申请一实施例所述的网络环境架构图;

图3根据本申请一实施例所述的代理服务器10的系统架构示意图;

图4根据本申请一实施例所述的跨网域通信方法的流程图;

图5根据本申请一实施例所述的跨网域通信的示意图;

图6根据本申请另一实施例所述的跨网域通信的示意图;

图7a与7b根据本申请又一实施例所述的跨网域通信的示意图。

其中,附图标记

100网络环境

10代理服务器

20广域网络

21、22网络终端装置

30区域网络

31、32网络通信装置

11通信装置

12控制器

13存储装置

14输入输出装置

500、600、710、720网页

501图片

502文字

503第三方广告

s410~s480步骤编号

具体实施方式

本章节所叙述的是实施本申请的较佳方式,目的在于说明本申请的精神而非用以限定本申请的保护范围,当可理解的是,使用于本说明书中的「包含」、「包括」等词,是用以表示存在特定的技术特征、数值、方法步骤、操作处理、元件以及/或组件,但并不排除可加上更多的技术特征、数值、方法步骤、操作处理、元件、组件,或以上的任意组合。

图2根据本申请一实施例所述的网络环境架构图。网络环境100包括代理服务器10、广域网络(wideareanetwork,wan)20、以及区域网络(localareanetwork,lan)30,其中代理服务器10设置于广域网络20与区域网络30的间。

广域网络20可以是由电信网络、光纤(optical)网络、或非对称数字用户线路(asymmetricdigitalsubscriberline,adsl)网络等所组成的网络,又可称为外网或公网,其通常跨接很大的物理范围,所覆盖的范围从几十公里到几千公里,可通过网际网络连接多个地区、城市、或国家,形成国际性的远端网络。

广域网络20可连接多部网络终端装置21、22,网络终端装置21、22的任一者可为笔记型计算机、桌上型计算机、工作站、服务器、智能型手机、或平板计算机。举例来说,网络终端装置21可为智能型手机,提供使用者上网的功能,网络终端装置22可为网域名称系统(domainnamesystem,dns)服务器,提供网域名称解析服务。

区域网络30可以是由乙太网、无线保真(wirelessfidelity,wifi)网络、双绞线(twistedpair)网络、或同轴电缆(coaxialcable)网络等所组成的网络,又可称为内网或私网,其通常覆盖局部区域,例如:办公室、或建筑物内的某楼层。

区域网络30可包括多部网络通信装置31、32,网络通信装置31、32的任一者可为笔记型计算机、桌上型计算机、智能型手机、平板计算机、工作站、或服务器。举例来说,网络通信装置31或32可为网页服务器,提供网站架设的功能,或者,网络通信装置31或32可为验证服务器,提供用户身分验证功能。

代理服务器10主要负责桥接广域网络20与区域网络30(意即提供路由器的功能),并且提供网络代理机制,让区域网络30内的网络通信装置31、32对外网而言呈现匿名,使得网络终端装置21、22无法直接存取网络通信装置31、32,而是必须通过代理服务器10的中介处理。

图3根据本申请一实施例所述的代理服务器10的系统架构示意图。代理服务器10包括通信装置11、控制器12、存储装置13、以及输入输出装置14。

通信装置11用以提供连接至广域网络20(包括广域网络20上的网络终端装置21、22)、以及区域网络30(包括区域网络30上的网络通信装置31、32)。通信装置11可依循至少一特定通信技术提供有线或无线网络连接,例如:乙太网技术、无线保真技术、全球行动通信系统(globalsystemformobilecommunications,gsm)技术、通用封包无线服务(generalpacketradioservice,gprs)技术、全球增强型数据传输(enhanceddataratesforglobalevolution,edge)技术、宽频分码多工存取(widebandcodedivisionmultipleaccess,wcdma)技术、分码多工存取-2000(codedivisionmultipleaccess2000,cdma-2000)技术、分时同步分码多工存取(timedivision-synchronouscodedivisionmultipleaccess,td-scdma)技术、全球互通微波存取(worldwideinteroperabilityformicrowaveaccess,wimax)技术、长期演进(longtermevolution,lte)技术、或分时长期演进(time-divisionlte,td-lte)技术等。

在一实施例,通信装置11可包括乙太网络介面卡(网络接口卡)以提供有线网络的连接功能。在另一实施例,通信装置11可包括无线收发器,具体来说,无线收发器可包括基带(baseband)装置、射频(radiofrequency,rf)装置、以及天线,基带装置用以执行基带信号处理,包括模拟数字转换(analogtodigitalconversion,adc)/数字模拟转换(digitaltoanalogconversion,dac)、增益(gain)调整、调变与解调变、以及编码/解码等;射频装置用以接收射频无线信号,并将射频无线信号转换为基频信号以交由基频装置进一步处理,或自基频装置接收基频信号,并将基带信号转换为射频无线信号以通过天线进行传送。其中所使用的射频可为无线保真技术所使用的2.4吉赫(giga-hertz,ghz)、3.6吉赫、4.9吉赫、或5吉赫,或端视所使用的通信技术而定。

控制器12可为通用处理器、中央处理器(centralprocessingunit,cpu)、微处理器(microcontrolunit,mcu)、应用处理器(applicationprocessor,ap)、或数字信号处理器(digitalsignalprocessor,dsp)等,其可包括各式电路逻辑,用以提供数据处理及运算的功能、控制通信装置11的运作以提供网络连接、从存储装置13读取或存储数据以及/或程序码、以及通过输入输出装置14接收使用者输入或提供互动信号。另外,控制器12还包括其他电路逻辑,用以提供网络代理机制。

特别是,控制器12是用以协调控制通信装置11、存储装置13、以及输入输出装置14的运作,以执行本申请的跨网域通信方法。

存储装置13为非暂态(non-transitory)的计算机可读取存储媒体,例如:随机存取记忆体(randomaccessmemory,ram)、快闪(flash)记忆体、快取(cache)记忆体、或硬碟、光碟、或上述媒体的任意组合,用以存储计算机可读取的数据、指令、或程序码,包括:网域名称的对映信息、预定的别名(alias)、本申请的跨网域通信方法的程序码、以及应用程序/操作系统/通信协定的程序码。

本领域技术人员当可理解,控制器12中的电路逻辑通常可包括多个晶体管,用以控制上述电路逻辑的运作以提供所需的功能及操作。更进一步的,晶体管的特定结构及其之间的连接关系通常是由编译器所决定,例如:暂存器转移语言(registertransferlanguage,rtl)编译器可由处理器所运作,将类似组合语言码的指令文件(script)编译成适用于设计或制造上述电路逻辑所需的形式。

输入输出装置14可包括一或多个按钮、灯号装置、键盘、鼠标、触碰板、麦克风、以及/或喇叭,用以作为人机界面与使用者互动。举例来说,按钮可用于当使用者按下时发出重设信号以触发控制器12执行代理服务器10的重设程序,或者,灯号装置可用于发出不同灯号以通知使用者关于代理服务器10目前的运作是否正常。

当可理解的是,图3所示的元件仅用以提供一说明的范例,并非用以限制本申请的保护范围。举例来说,代理服务器10还可包括:显示屏幕(如:液晶显示器(liquidcrystaldisplay,lcd)、发光二极管显示器(liquidcrystaldisplay,lcd)、或电子纸显示器(electronicpaperdisplay,epd)等)、以及/或电源供应器等。

图4根据本申请一实施例所述的跨网域通信方法的流程图。在此实施例,跨网域通信方法适用于代理服务器,例如:代理服务器10。

首先,代理服务器接收到来自外网的网页存取请求(步骤s410),其中上述网页存取请求指示了是由来源网域名称发向目的网域名称,也就是说,上述网页存取请求是属于跨网域的通信类型,是当网页服务器(如:网络通信装置31)所提供的网页在被外网的网络终端装置(如:网络终端装置21)载入时,由于上述网页的部分内容需要从另一网页服务器(如:网络通信装置32)取得,因此发出上述网页存取请求。

接着,代理服务器决定上述网页存取请求中所指示的来源网域名称是否为预定网域名称(步骤s420)。明确来说,预定网域名称是内网的网页服务器对外网而言可识别的虚拟网域名称,可针对内网的每个网页服务器都设定各别的预定网域名称,且由代理服务器纪录内网的每个网页服务器的真实网域名称以及对应的预定网域名称。

在一实施例,若内网的网页服务器所提供的网页仅具备单一服务,则其预定网域名称可为虚拟网域名称,举例来说,网页服务器(如:网络通信装置31)在内网可识别的真实网域名称是domain-a.com,可设定上述网页服务器的预定网域名称为domain-c.com。

在另一实施例,若内网的网页服务器所提供的网页具备多重服务,则其预定网域名称可为虚拟网域名称,而上述网页的每个服务所对应到的预定网域名称则可设定为上述虚拟网域名称加上各别的别名。举例来说,网页服务器(如:网络通信装置31)在内网可识别的真实网域名称是domain-a.com,其内含的服务所对应到的真实网域名称有:mail.domain-a.com、docs.domain-a.com、以及drive.domain-a.com等,因此,可设定domain-a.com的预定网域名称为domain-c.com,而各个服务的预定网域名称为alias.domain-c.com,其中alias代表上述别名且可为任意字串,如:mail、docs、以及drive等。或者,别名亦可放在虚拟网域名称的后面,如:domain-c.com/alias。

上述每个预定网域名称还可再包括端口(port)号,例如:alias.domain-c.com:443或domain-c.com:443。

另外,预定网域名称可以是由内网的使用者或网管人员事先设定好,并且向网域名称系统服务器(如:网络终端装置22)注册,通过注册将预定网域名称(如:domain-c.com或alias.domain-c.com)与代理服务器的网络协定地址(如:10.11.55.66)进行绑定并记录于网域名称系统服务器。如此一来,当外网的网络终端装置(如:网络终端装置21)要存取内网的网页服务器(如:网络通信装置31)时,会以上述网页服务器的预定网域名称(如:domain-c.com或alias.domain-c.com)向网域名称系统服务器查询得到代理服务器的网络协定地址(如:10.11.55.66),然后将网页存取请求传送至对代理服务器,由代理服务器进行处理及转发。或者,亦可选择将网域名称系统服务器直接架设在代理服务器中。

在另一实施例,可设置由代理服务器提供入口网页(webportal),举例来说,入口网页的网域名称可为vpn.example.com:443或login.vpn.example.com:443。在入口网页设置完成之后,可进一步设定入口网页包括那些网站的连接,举例来说,若入口网页包括的连接是连到内网的某个服务网站service.example.com,则可将其预定网域名称设定为service.vpn.example.com,其中的service即为上述别名。另外,若入口网页包括的连接是连到外网的某个服务网页patents.google.com,则可将其预定网域名称设定为googlepatent.vpn.example.com,其中googlepatent即为上述别名。如此一来,不论在内网或外网都可通过vpn.example.com:443或login.vpn.example.com:443连到入口网页,并且通过入口网页连到内网或外网的网页。

接续步骤s420,当上述网页存取请求中所指示的来源网域名称为预定网域名称时,代理服务器将上述网页存取请求中的来源网域名称替换为对应的内网可识别的真实网域名称(如:domain-a.com)(步骤s430),然后根据上述网页存取请求中所指示的目的网域名称(如:domain-b.com)转送上述网页存取请求(步骤s440)。

接续步骤s440,代理服务器接收对应到上述网页存取请求的网页存取回应(步骤s450),其中上述网页存取回应除了包括网页信息之外,其标头(header)的部分还指示了是由上述目的网域名称(如:domain-b.com)发向上述来源网域名称所对应的真实网域名称(如:domain-a.com)。然后,代理服务器将上述网页存取回应中所指示的目的端真实网域名称替换回对应的预定网域名称(如:domain-c.com)(步骤s460),并将上述网页存取回应转送至发起网页存取请求的外网的网络终端装置(步骤s470),流程结束。关于针对网页存取回应的标头部分进行剖析(parse)以及网域名称的替换,后续将于图5、6以范例进行说明。

在另一实施例,代理服务器除了针对网页存取回应的标头部分进行网域名称的替换之外,还可针对网页存取回应的内文(content)部分进行剖析,并且当内文含有已设定预定网域名称的真实网域名称时,将内文中的真实网域名称替换为对应的预定网域名称。关于针对网页存取回应的内文部分进行剖析以及网域名称的替换,后续将于图7以范例进行说明。

接续步骤s420,当网页存取请求中所指示的来源网域名称并非预定网域名称时,代理服务器传送指示「无法存取网页」的网页存取回应给发起网页存取请求的外网的网络终端装置(步骤s480),流程结束。

图5根据本申请一实施例所述的跨网域通信的示意图。在此实施例,网页500是外网的网络终端装置(如:网络终端装置21)以网域名称domain-c.com浏览内网的第一网页服务器(如:网络通信装置31)所提供的网页,而代理服务器10会将网域名称domain-c.com替换为内网的第一网页服务器的真实网域名称domain-a.com,以完成网页存取。

如图5所示,网页500的标签页(tab)显示为domain-c.com,因为跨网域名称的通信已经过代理服务器10将网域名称进行替换。网页500的内容包括:图片501、文字502、以及第三方广告503,其中图片501以及文字502由内网的第一网页服务器直接提供(已包含在第一网页服务器所提供的网页信息中),而第三方广告503则必须进一步向内网的第二网页服务器(如:网络通信装置32)存取,因此,外网的网络终端装置在向内网的第一网页服务器取得网页500的信息之后,在载入网页500的过程中会由网页500启动(initiated)向内网的第二网页服务器发出存取请求,也就是说,网页500涉及跨网域通信。举例来说,第一网页服务器所提供的网页信息可以是由超文件标示语言5(hypertextmarkuplanguagerevision5,html5)的程序码所组成,图片501与文字502可以是分别由程序码中的img元素及font元素所定义,而第三方广告503可以是程序码中canvas元素所定义,如下:

其中img元素定义了上述画布元素所需使用到的图片,而img元素的src属性则定义了图片是来自于内网的第二网页服务器(其网域名称为domain-b.com)。当外网的网络终端装置在载入网页到这个部分时,便会发出存取请求到内网的第二网页服务器,而上述存取请求会指示是网域名称domain-c.com发向网域名称domain-b.com。

代理服务器10在收到这个存取请求时,会将存取请求中所指示的来源网域名称domain-c.com替换为domain-a.com,再将存取请求转送至内网的第二网页服务器。值得注意的是,在此实施例,即便内网的第二网页服务器仅容许来自第一网页服务器的存取请求,但是由于本申请所述的代理服务器10已将跨网域通信的存取请求中的来源网域名称替换回真实的网域名称,因此,网页500中的第三方广告503就能被正确存取并显示。

图6根据本申请另一实施例所述的跨网域通信的示意图。在此实施例,网页600是外网的网络终端装置(如:网络终端装置21)以网域名称alias.domain-c.com浏览内网的第一网页服务器(如:网络通信装置31)所提供的网页,而代理服务器10会将网域名称alias.domain-c.com替换为内网的第一网页服务器的真实网域名称domain-a.com,以完成网页存取。

如图6所示,网页600的栏标显示为alias.domain-c.com,因为跨网域名称的通信已经过代理服务器10将网域名称进行替换。网页600为第一网页服务器的登入首页,在输入使用者帐号及密码进行登入时,会由网页600触发向内网的第二网页服务器发出认证请求,特别值得注意的是,在此实施例,第二网页服务器进行认证程序所需的认证参数包括使用者帐号、密码、以及来源网域名称。

由于来源网域名称是认证参数之一,在传统技术上,因为一般的代理服务器并未针对跨网域类型的通信提供网域名称替换的操作,因此,来源网域名称仍会是内网的第二网页服务器所无法识别的alias.domain-c.com,导致认证失败。相较之下,在本申请中,代理服务器10在接收到认证请求时,会将来源网域名称从alias.domain-c.com替换为domain-a.com,以使内网的第二网页服务器顺利完成认证程序。

图7a与7b根据本申请又一实施例所述的跨网域通信的示意图。在此实施例,浏览器界面以两个分页分别显示网页710与720,其中网页710是外网的网络终端装置(如:网络终端装置21)以网域名称domain-b.com浏览内网的第二网页服务器(如:网络通信装置32)所提供的网页,而网页720是外网的网络终端装置(如:网络终端装置21)以网域名称domain-c.com浏览内网的第一网页服务器(如:网络通信装置31)所提供的网页,代理服务器10会将网域名称domain-c.com替换为内网的第一网页服务器的真实网域名称domain-a.com,以完成网页720的存取。

当外网的使用者装置在向内网的第二网页服务器请求要存取网页710时,代理服务器10就会把网页710的内文进行剖析以判断是否包括任何已有设定预定网域名称的真实网域名称,若是,则将内文中的真实网域名称替换为对应的预定网域名称,然后才将网页710的信息回传给外网的使用者装置。

如图7a所示,网页710的原始内容有部分是要传送信息到网页720的分页,举例来说,上述内容可以是一段javascript程序码,如:window.parent.postmessage(‘hello’,“https://domain-a.com”),上述内容会在网页存取的过程中,由代理服务器10将其中的domain-a.com替换为alias.domain-c.com。如此一来,网页720在载入时就能够顺利收到来自网页710所传送的信息,如图7b所示。相较之下,在传统技术上,因为一般的代理服务器并未针对跨网域类型的通信提供网域名称替换的操作,因此,网页720在载入时就无法接收到来自网页710所传送的信息。

在一实施例,本申请的跨网域通信方法可用程序码实作为一内容剖析器(contentparser),负责对网页存取请求以及网页存取回应进行图4~7的实施例所述的标头及内文的剖析与网域名称的替换。

根据前述图4~7的实施例,当可理解的是,本申请的跨网域通信方法有效解决了传统的网络代理机制在跨网域通信所产生的问题。特别是,在本申请案中,藉由在代理服务器中对网页存取请求以及网页存取回应进行标头及内文的剖析与网域名称的替换,使得跨网域的通信能够正常运作。

于申请专利范围中所使用的“第一”、“第二”、“第三”、“第四”等词是用来修饰权利要求中的元件,并非用来表示之间具有优先权顺序,先行关系,或者是一个元件先于另一个元件,或者是执行方法步骤时的时间先后顺序,仅用来区别具有相同名字的元件。

当然,本申请还可有其它多种实施例,在不背离本申请精神及其实质的情况下,熟悉本领域的技术人员当可根据本申请作出各种相应的改变和变形,但这些相应的改变和变形都应属于本申请所附的权利要求的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1