一种基于WebSocket代理的Web远程桌面访问控制方法

文档序号:8266050阅读:980来源:国知局
一种基于WebSocket代理的Web远程桌面访问控制方法
【技术领域】
[0001]本发明属互联网技术领域,具体涉及一种基于WebSocket代理的Web远程桌面访问控制方法。
【背景技术】
[0002]访问控制是一种用户通过客户端工具访问目标机器桌面,并且控制目标机器行为的机制。IaaS服务以虚拟化技术为基础给用户提供计算基础设施,访问控制已经成为IaaS服务必不可少的组成部分,Citrix XenServer是一种全面而易于管理的服务器虚拟化平台,它是IaaS服务中常用的虚拟化技术之一。针对Citrix XenServer虚拟化平台,CitrixXenCenter提供了一种图形界面的访问控制方式,它可以很方便的访问控制XenServer虚拟化平台中的虚拟机。
[0003]虽然Citrix XenCenter提供了很好的访问控制方式,但是它的真正目的是管理和监控,不适合普通用户使用,普通用户希望的是一种Web远程桌面访问控制方式,通过一个Web客户端即可在不同地方都能访问到虚拟机。

【发明内容】

[0004]针对以上问题,本发明提供一种基于WebSocket代理的Web远程桌面访问控制方法,该方法的使用者在使用前开启WebSocket代理服务,当需要访问控制远程的虚拟机时,打开Web浏览器点击想要访问的虚拟机,即可通过WebSocket代理建立和远程虚拟机的连接,进行远程访问控制。
[0005]本发明的技术方案如下:
[0006]一种基于WebSocket代理的Web远程桌面访问控制方法,包括以下步骤:
[0007]第一步:基于Netty技术启动一个WebSocket代理服务。
[0008]第二步:WebSocket代理服务,基于XenServer API获取XenServer的虚拟机信息给Web浏览器。
[0009]第三步:访问某个虚拟机时,Web客户端通过WebSock技术建立和WebSocket代理服务的连接。
[0010]第四步:WebSocket代理服务建立和XenServer主机的连接,将连接请求转发给XenServer 主机。
[0011]第五步:连接建立后,Web客户端基于RFB协议,发送请求虚拟机桌面数据的消息给WebSocket代理服务,进而远程访问控制虚拟机。
[0012]第六步:不访问的时候,Web客户端关闭与WebSocket的网络连接即可。
[0013]本发明的有益效果是:使用者在使用前,开启WebSocket代理,当需要远程访问控制XenServer的虚拟机时,使用者连接WebSocket代理,WebSocket代理再利用XenServerAPI建立和XenServer主机的连接,可为普通用户提供一种Web远程桌面访问控制方法。
【附图说明】
[0014]图1为本发明的流程原理图。
【具体实施方式】
[0015]为了便于理解本发明,以下结合说明书附图对本发明作进一步说明。
[0016]基于XenServer虚拟化服务器的应用程序中,通过Citrix的XenCenter可以很方便的访问控制XenServer的虚拟机,但是我们希望通过Web的方式远程访问控制XenServer的虚拟机,或者我们希望提供给虚拟机所有者一种通过Web直接访问控制他自己虚拟机的一种方法,下面结合具体的应用场景来描述一下一种基于WebSocket代理实现Web远程桌面访问控制方法的【具体实施方式】。
[0017]第一步:基于Netty技术建立WebSocket服务的网络监听并设定监听端口,添加Handler处理Web客户端发送过来的WebSocket协议请求,通过这一步我们已经成功搭建了一个WebSocket的服务,这时前端通过WebSock即可建立和WebSocket服务的网络连接。
[0018]第二步:Web客户端获取XenServer主机的所有虚拟机,WebSocket代理服务通过XenServer API获取XenServer主机的虚拟机信息,返回给Web客户端页面显示。其中虚拟机唯一标识信息用于第三步和虚拟机建立连接的请求参数。
[0019]第三步:Web客户端建立与目标主机的虚拟机的连接,先通过WebSock并且在Uri带上虚拟机的唯一标示符与WebSocket代理服务建立连接;WebSocket代理服务接收连接请求获取虚拟机唯一标识符信息。
[0020]第四步:WebSocket代理服务以虚拟机唯一标示符为参数利用XenServer API获取目标主机的IP信息和locat1n信息,与目标主机的80端口建立网络连接,连接建立成功后发送连接目标主机的虚拟机的消息给目标主机,消息发送成功后,目标主机返回200状态码,这样Web客户端就成功建立了和目标主机的虚拟机的连接。
[0021]第五步:连接建立后,Web客户端即可基于RFB协议,发送请求虚拟机桌面数据的消息给WebSocket代理服务,WebSocket代理服务将请求转发至目标主机的虚拟机,虚拟机返回数据给WebSocket代理服务,WebSocket代理服务再将数据返回给Web客户端,Web客户端利用canvas显示目标主机的虚拟机桌面。
[0022]第六步:Web客户端关闭连接,即关闭与WebSocket代理服务的连接请求,最终WebSocket代理服务关闭与目标主机的虚拟机的连接。
[0023]上述第三步到第六步就是一个从Web客户端建立和目标主机虚拟机的连接,并且显示虚拟机桌面的完整过程。这个过程是基于Web的方式进行的,即通过Web客户端就可以直接访问控制XenServer的虚拟机。
[0024]以上是对本发明进行了示例性的描述,显然本发明的实现并不受上述方式的限制,只要采用了本发明技术方案进行的各种改进,或未经改进将本发明的构思和技术方案直接应用于其它场合的,均在本发明的保护范围内。
【主权项】
1.一种基于WebSocket代理的Web远程桌面访问控制方法,其特征在于,包括以下步骤: 第一步:基于Netty技术启动WebSocket代理服务; 第二步:WebSocket代理服务,基于XenServer API获取XenServer的虚拟机信息给Web浏览器; 第三步:访问虚拟机时,Web浏览器通过WebSock技术建立和WebSocket代理服务的连接; 第四步:WebSocket代理服务建立和XenServer主机的连接,将连接请求转发给XenServer 主机; 第五步:连接建立后,Web客户端基于RFB协议,发送请求虚拟机桌面数据的消息给WebSocket代理服务,进而远程访问控制虚拟机; 第六步:不访问的时候,Web客户端关闭与WebSocket的网络连接。
2.根据权利要求1所述的一种基于WebSocket代理的Web远程桌面访问控制方法,其特征在于,所述的第一步中包括基于Netty技术建立WebSocket服务的网络监听并设定监听端口、添加Handler处理Web前端发送过来的WebSocket协议请求的步骤。
3.根据权利要求1所述的一种基于WebSocket代理的Web远程桌面访问控制方法,其特征在于,所述的第三步中包括通过WebSock并且在Uri带上虚拟机的唯一标示符与WebSocket代理服务建立连接、WebSocket代理服务接收连接请求获取虚拟机唯一标识符信息的步骤。
4.根据权利要求1所述的一种基于WebSocket代理的Web远程桌面访问控制方法,其特征在于,所述的第四步中包括WebSocket代理服务以虚拟机唯一标示符为参数利用XenServer API获取目标主机的IP信息和locat1n信息、与目标主机的80端口建立网络连接、连接建立成功后发送连接目标主机的虚拟机的消息给目标主机、消息发送成功后,目标主机返回200状态码、Web客户端成功建立和目标主机的虚拟机的连接的步骤。
5.根据权利要求1所述的一种基于WebSocket代理的Web远程桌面访问控制方法,其特征在于,所述的第五步中包括Web客户端基于RFB协议,发送请求虚拟机桌面数据的消息给WebSocket代理服务、WebSocket代理服务将请求转发至目标主机的虚拟机、虚拟机返回数据给WebSocket代理服务、WebSocket代理服务再将数据返回给Web客户端、Web客户端利用canvas显示目标主机的虚拟机桌面的步骤。
【专利摘要】本发明公开一种基于WebSocket代理的Web远程桌面访问控制方法,包括启动WebSocket代理服务、获取XenServer的虚拟机信息给Web浏览器、浏览器通过WebSock技术建立和WebSocket代理服务的连接、WebSocket代理服务建立和XenServer主机的连接、远程访问控制虚拟机。使用者开启WebSocket代理服务,打开Web浏览器点击想要访问的虚拟机,即可通过WebSocket代理建立和远程虚拟机的连接,进行远程访问控制,为普通用户提供一种Web远程桌面访问控制方法。
【IPC分类】H04L29-08
【公开号】CN104580531
【申请号】CN201510060799
【发明人】李平南
【申请人】湖南合天智汇信息技术有限公司
【公开日】2015年4月29日
【申请日】2015年2月5日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1