一种安全的私有云内服务器接受外部连接的方法技术

技术编号:14012707 阅读:82 留言:0更新日期:2016-11-17 14:09
本发明专利技术公开了一种安全的私有云内服务器接受外部连接的方法,包括采用服务器端主动令客户端发起请求的方法实现服务器端程序、服务器端转发程序、客户端程序及客户端转发程序间的数据交互;所述采用服务器端主动令客户端发起请求的方法包括:分别在服务器端部署服务器端转发程序,在客户端部署客户端转发程序,使服务器端转发程序能够向客户端转发程序发起TCP连接请求;实现服务器端主动向客户端发起TCP连接,之后客户端使用该条TCP连接传输上层应用(如HTTP)数据。

【技术实现步骤摘要】

本专利技术涉及信息安全、计算机网络等
,具体的说,是一种安全的私有云内服务器接受外部连接的方法
技术介绍
随着互联网云技术的飞速发展,基于Web技术的HTTP“请求-应答”的服务器工作模式使用越来越广泛。无论是构建服务器还是应用软件软件开发的过程中,如果能够契合这种“请求-应答”模式,那么许多现成的开发工具和应用框架就可以被直接使用从而省去大量人力和时间成本。Web就是一种超文本信息系统,Web的一个主要的概念就是超文本连接,它使得文本不再象一本书一样是固定的线性。而是可以从一个位置跳到另外的位置。使用者可以从中获取更多的信息。可以转到别的主题上。想要了解某一个主题的内容只要在这个主题上点一下,就可以跳转到包含这一主题的文档上。正是这种多连接性使得它被称为Web。B/S结构(Browser/Server,浏览器/服务器模式),是Web兴起后的一种网络结构模式,Web浏览器是客户端最主要的应用软件。这种模式统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用。客户机上只要安装一个浏览器,如Internet Explorer,就可以与服务器进行数据交互。在这种结构下,用户界面完全通过浏览器实现。HTTP是一种让Web服务器与浏览器(客户端)通过Internet发送与接收数据的协议。它是一个请求、响应协议:客户端发出一个请求,服务器响应这个请求。HTTP运用可靠的 TCP连接,通常是TCP80端口。HTTP的通信原理决定了只能是浏览器向Web服务器发起请求,Web服务器应答。HTTP技术本身无法实现Web服务器主动向浏览器发送数据,因为没有浏览器的首先请求连接,浏览器与Web服务器之间不存在通信链路。在私有云环境中有这样的应用场景,私有云内部的Web服务器为内网的使用者提供服务,但某些时候也需要外部网络的设备能够连接到该服务器,出于安全考虑又不能将服务器和端口暴露出去(如果这样处理还会涉及到客户端穿透NAT的问题),甚至希望由服务器首先发起TCP连接来指定哪一台设备来使用服务(顺带解决了NAT穿透的问题),之后的上层应用数据都使用该TCP连接进行传输。为了使开发和维护工作更简单,还希望能够使用通用的HTTP协议流程(修改协议流程可能带来不可预料的风险)。通常情况下HTTP的工作原理决定了Web服务器只能被动等待客户端的连接请求,因此也只能通过帐号密码等被动验证方式来明确客户端的身份是否合法,即是说任何客户端只要拥有这些验证信息就会被服务器端接受为合法用户,所以一旦帐号密码等验证信息被泄漏这类验证方式即被攻破。
技术实现思路
本专利技术的目的在于提供一种安全的私有云内服务器接受外部连接的方法,实现服务器端主动向客户端发起TCP连接,之后客户端使用该条TCP连接传输上层应用(如HTTP)数据。本专利技术通过下述技术方案实现:一种安全的私有云内服务器接受外部连接的方法,包括采用服务器端主动令客户端发起请求的方法实现服务器端程序、服务器端转发程序、客户端程序及客户端转发程序间的数据交互。进一步的为更好的实现本专利技术,特别采用下述设置方式:所述采用服务器端主动令客户端发起请求的方法包括:分别在服务器端部署服务器端转发程序,在客户端部署客户端转发程序,使服务器端转发程序能够向客户端转发程序发起TCP连接请求。进一步的为更好的实现本专利技术,特别采用下述设置方式:所述TCP连接在服务器和客户端之间有且仅有一条通信链路,之后的应用层数据会使用这一条TCP链路进行传输。进一步的为更好的实现本专利技术,特别采用下述设置方式:所述通信链路通过下述步骤建立:1)服务器端转发程序分别向客户端转发程序和服务器端程序发起TCP连接请求,当成功建立后,服务器端转发程序在服务器端转发程序-客户端转发程序和服务器端转发程序-服务器端程序之间建立TCP数据包转发关系;2)客户端转发程序分别监听两个TCP端口——一个TCP端口用于接收服务器端转发程序向客户端转发程序发起的服务器端转发程序-客户端转发程序的TCP连接请求;另一个TCP端口用于接收客户端程序的TCP连接请求;当成功建立之后,客户端转发程序在服务器端转发程序-客户端转发程序和客户端转发程序-客户端程序之间建立TCP数据包转发关系;3)在客户端程序和服务器端程序之间建立一条完整的TCP连接:客户端程序的所有基于TCP数据包都会被客户端转发程序转发给服务器端转发程序,服务器端转发程序再转发给服务器端程序;且服务器端程序的所有基于TCP数据包都会被服务器端转发程序转发给客户端转发程序,客户端转发程序再转发给客户端程序。进一步的为更好的实现本专利技术,特别采用下述设置方式:所述建立TCP数据包转发关系的过程中,满足所有的数据包都被转发,在转发关系建立的过程中,一端连接已经建立完成而另一端尚未完成时,当先建立好的一端已发送数据,则将这些已发送数据按顺序缓存起来,直到另一端建立完成后再按顺序发送。进一步的为更好的实现本专利技术,特别采用下述设置方式:当服务器端程序与客户端程序需要进行数据交互时,通过服务器端转发程序与客户端转发程序之间交互后才分别向服务器端程序或客户端程序进行交互。进一步的为更好的实现本专利技术,特别采用下述设置方式:所述服务器端转发程序能够向客户端转发程序发起TCP连接请求,亦能够向服务器端程序发起TCP连接请求,并在两个TCP连接之间转发TCP数据包。进一步的为更好的实现本专利技术,特别采用下述设置方式:所述客户端转发程序,接受来自服务器端转发程序的TCP连接请求,亦接受来自客户端程序的TCP连接请求,在这两个TCP连接之间转发TCP数据包。进一步的为更好的实现本专利技术,特别采用下述设置方式:所述服务器端程序和客户端程序之间配置零改变。本专利技术与现有技术相比,具有以下优点及有益效果:本专利技术实现服务器端主动向客户端发起TCP连接,之后客户端使用该条TCP连接传输上层应用(如HTTP)数据。本专利技术在实际应用中,设备之间能够便捷地穿透NAT或防火墙进行通讯(除非经过特别配置,处于NAT或防火墙之后的设备无法被外部设备主动访问,只能由内部设备主动向外部发起连接请求),比如某些特定情况下一台私有云网络内部的Web服务器想要接受外部的客户端来连接它。本专利技术在实际应用中,因为连接是由服务器主动发起所以服务器明确地知道对方是一个安全的使用者,如此就无需再进行额外的安全认证等工作,节约工作量提升服务速度;本专利技术在实际应用中,因为该方法仅涉及到TCP数据的转发,基于TCP之上的应用层协议并不会察觉到这些改变的存在,应用层流程如常用的HTTP框架可以照常使用,提高工作效率。附图说明图1为本专利技术的原理图。图2为本专利技术的流程图。具体实施方式本专利技术涉及计算机网络、信息安全技术等多方面内容,是计算机技术在上述领域的一种综合应用。申请人认为,如在仔细阅读申请文件、准确理解本专利技术的实现原理和专利技术目的以后,在结合现有公知技术的情况下,本领域技术人员完全可以运用其掌握的软件编程技能实现本专利技术。下面结合实施例对本专利技术作进一步地详细说明,但本专利技术的实施方式不限于此。实施例1:本专利技术提出了一种安全的私有云内服务器接受外部连接的方法,实现服务器端主动向客户端发起TCP连接,之后客户端使用该条TCP连接传输上层本文档来自技高网
...
一种安全的私有云内服务器接受外部连接的方法

【技术保护点】
一种安全的私有云内服务器接受外部连接的方法,其特征在于:包括采用服务器端主动令客户端发起请求的方法实现服务器端程序、服务器端转发程序、客户端程序及客户端转发程序间的数据交互。

【技术特征摘要】
1.一种安全的私有云内服务器接受外部连接的方法,其特征在于:包括采用服务器端主动令客户端发起请求的方法实现服务器端程序、服务器端转发程序、客户端程序及客户端转发程序间的数据交互。2.根据权利要求1所述的一种安全的私有云内服务器接受外部连接的方法,其特征在于:所述采用服务器端主动令客户端发起请求的方法包括:分别在服务器端部署服务器端转发程序,在客户端部署客户端转发程序,使服务器端转发程序能够向客户端转发程序发起TCP连接请求。3.根据权利要求2所述的一种安全的私有云内服务器接受外部连接的方法,其特征在于:所述TCP连接在服务器和客户端之间有且仅有一条通信链路,之后的应用层数据会使用这一条TCP链路进行传输。4.根据权利要求3所述的一种安全的私有云内服务器接受外部连接的方法,其特征在于:所述通信链路通过下述步骤建立:1)服务器端转发程序分别向客户端转发程序和服务器端程序发起TCP连接请求,当成功建立后,服务器端转发程序在服务器端转发程序-客户端转发程序和服务器端转发程序-服务器端程序之间建立TCP数据包转发关系;2)客户端转发程序分别监听两个TCP端口——一个TCP端口用于接收服务器端转发程序向客户端转发程序发起的服务器端转发程序-客户端转发程序的TCP连接请求;另一个TCP端口用于接收客户端程序的TCP连接请求;当成功建立之后,客户端转发程序在服务器端转发程序-客户端转发程序和客户端转发程序-客户端程序之间建立TCP数据包转发关系;3)在客户端程序和服务器端程序之间建立一条完整的TCP连接:客户端程序的所有基于...

【专利技术属性】
技术研发人员:肖思林佘晓强李原早
申请(专利权)人:成都火云网安科技有限公司
类型:发明
国别省市:四川;51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1