美文网首页Network
通过noVNC实现远程连接windows桌面

通过noVNC实现远程连接windows桌面

作者: lick08 | 来源:发表于2016-06-07 15:50 被阅读0次

    需求:

    最近项目需要能够实现远程桌面,目标桌面是windows系统,发起源是我们后台管理系统的一个子页面,这就需要通过网页打开远程桌面并进行链接,所以我们选用了noVNC。网上大部分都是linux系统为服务器端,现在我就介绍下windows系统为服务器端的情况。

    准备工作:

    noVNC简介:我们集成在管理系统中的vnc访问客户端,提供一种在网页上通过html5的Canvas,通过这个在线网页发起vnc请求,访问目标机器上vncserver提供的vnc服务。

    参考https://kanaka.github.io/noVNC/  

    utralVNC简介:windows的vnc服务器,在你需要访问的目标机器上安装。

    参考 http://www.uvnc.com/

    websockify简介:noVNC是通过websockt建立链接,而VNC server不支持websocket,所以需要开启websockify代理来做 WebSockets 和 TCP sockets 之间的转换。

    参考:https://github.com/kanaka/websockify

    开始:

    1. 目标服务器安装好utralVNC,并开启服务器。

    2.在目标服务器上面开启websockify进行端口转发

    进入websockify-master\websockify-master\other\js

    启动node服务器(这边直接$node websockify.js会报错,记得安装相关js模块 )

    输入:node websockify.js 8000 localhost:5900 转发8000端口的http链接到5900端口(具体看vnc的设置,有些服务器的端口不一定是5900)即vnc服务器端口,从而建立链接。

    3.配置路由器的转发,使你可以通过外网访问到局域网中特定的机器。

    下图是我们用的小米路由器的设置,其他路由器自行搜索方法。

    注意:这边的外部端口(图中8001)是noVNC页面外网访问时候需要填写的端口,这边的内部端口(图中8000)是路由转发的端口,即这个端口必须和websockify.js监听的端口一致,参考第二步,websockify.js监听转发的端口也是8000。

    4. 找到目标服务器的公网IP并通过noVNC访问

    Extension:

    1.多台服务器可以在路由器转发的时候设置不同的端口来进行访问。

    2.realVNC tightVNC的服务器测试均不能通过noVNC访问,有一些诡异的报错。

    3.现在的链接都是非加密的,加密的链接还没尝试。python服务器的通信加密在linux机器下测试可行。

    相关文章

      网友评论

        本文标题:通过noVNC实现远程连接windows桌面

        本文链接:https://www.haomeiwen.com/subject/nxiddttx.html