这里整理一些网上找到的IT项目

All in Web | 远程桌面网关-Apache Guacamole

PHPer 2022-05-25 33 0 0

前面分享了无客户端的VNC,SSH开源解决方案,按照这个节奏,接下来要介绍无客户端的RDP解决方案,无奈没找到单独的针对RDP的web方案,不过意外的发现一个更给力的,多合一的远程桌面网关,针对多种主流远程管理协议,一网打尽。

https://guacamole.apache.org/

自己搭建后效果

e03eb0c350_normal.jpg

简介

Apache Guacamole 是一个无客户端的远程桌面网关,它支持众多标准管理协议,例如 VNC(RFB),RDP,SSH 等等。通过名字知道该项目是Apache基金会旗下的一个开源项目,也从侧面表明该项目是一个较高标准,并具有广泛应用前景的项目,值得了解一下。

当Guacamole被部署在服务器上后,用户通过浏览器即可访问已经开启 VNC(RFB),RDP,SSH 等远程管理服务的主机,屏蔽用户使用环境差异,跨平台,另外由于Guacamole本身被设计为一种代理工作模型,方便对用户集中授权监控等管理,,也被众多堡垒机项目所集成,例如‘jumpserver’,‘next-terminal’。

Guacamole由两部分组成,guacamole-serverguacamole-client

guacamole-client是用户用浏览其直接访问的web app,当然guacamole-client组件还自带一个web server,上面运行这个web app, 所以guacamole-client实际是一个web app和web server的集合体,用户认证层也是在这个组件内实现;

guacamole-server组件是接受并处理guacamole-client发送来的请求,然后翻译并转换这个请求,动态的调用遵循那些标准管理协议开发的开源客户端,例如FreeRDP,libssh2,LibVNC,代为连接Remote Desktops,最后回传数据给guacamole-client,guacamole-client回传数据给web browser,。整个过程中,翻译转换,动态调用是guacamole-server最核心的组件,称之为guacd,而那些开源的客户端被称为client plugins,client plugins这种方式是灵活的,加载什么就具备某种实现,前提是Guacamole protocol已经适配。

Guacamole protocol是专为Guacamole项目设计的协议,用于web browser与guacamole-client, guacamole-client与guacamole-server之间通信,它负责web browser侧 显示渲染和事件传输,guacamole-client不理解任何remote desktop protocol,它只理解Guacamole protocol,当web browser(用户)选择某种协议以及附带的参数时,经由Guacamole protocol编码,在http或https或websocket隧道基础上传输到guacamole-client,然后传输到guacamole-server,由guacamole-server解码,动态选择使用何种remote desktop client连接到Remote Desktops,并带上具体的参数,guacamole-server也不理解任何remote desktop protocol,它只理解Guacamole protocol。

PS:Guacamole protocol的开发,在项目早期,websocket彼时还未被信任,所以是基于http/https之上,现在也已经支持websocket,但是基于http/https的 并未被弃用,当由于某些原因,websocket无法使用时,会自动切换到基于http/https的旧版。

3c4382f0f7_normal.jpgApache Guacamole架构图

只要Guacamole protocol设计的字段足够多,是可以原生支持remote desktop client的能力。

guacamole-server项目的被设计为一种标准化的api调用,完全独立guacamole-client,guacamole-client只是官方给的一个基于Java,JS的‘前端’样例,确实是非常简陋,如果你有需求,当然可以用其他语言和环境去构造。

对比noVNC

了解了Apache Guacamole的high-level架构和工作流程,可以来对比下之前分享的noVNC的架构...

立即注册

更新于:2022-05-25 23:45:51
    您需要登录后才可以评论。 立即注册
    相关内容

    WEB技术

    WEB技术之前端技术

    WEB技术之后端技术

    WEB应用转手机APP,手机APP制作平台推荐

    WEB应用与手机APP

    Android相关

    2017 年 Web 开发工程师技术发展路线图

    IT理论

    OSI模型-百度百科

    OSI模型-智库百科

    OSI model-维基百科

    SOCKS-维基百科

    socks-百度百科

    JeMalloc介绍

    Call to undefined function mysql_connect() 解决方法汇总

    win7电脑TrustedInstaller.exe占用内存很大如何解决

    推荐内容

    分享几个好用的bt搜索bt资源下载网址网站

    影视电影剧集动漫综艺bt资源在线播放网址网站推荐分享

    全网最新bt磁力搜索引擎bt资源bt网站网址分享

    怎样使用V2Ray代理和SSTap玩如魔兽世界/绝地求生/LOL台服/战地3/黑色沙漠/彩...

    sstap游戏代理教程 从此玩如魔兽世界/绝地求生/LOL台服/战地3/黑色沙漠/彩虹六...

    使用V2Ray的mKCP协议加速游戏

    v2rayN已停止工作