这一阵子一直在研究Docker,另一方面我现在手头上有一家PaaS服务商提供Docker环境,为了节约费用,我并没有开启独立IP,所以我不能正常的通过SSH访问我的Docker容器,所以我需要找到一种现实可行的方法去连接我的服务器…
很多的在线SSH客户端要不是无法执行root的要不就是通过websocks实现连接的,所以Nginx无法(难以)提供反响代理,而且不能通过PHPProxy实现代理…所以基本上无法实现web的SSH/VNC访问.

Guacamole或许并不是一个最新出现的SSH/VNC/Telnet/RDP客户端,但是却是我最近才接触到的类似客户端,而且目前国内网络上的信息还很少…Guacamole的源码安装稍显复杂,由于程序比较新,所以还没有相应的代码包..目前Guacamole支持Ubuntu/Debian,暂时不支持CentOS,安装也比较复杂,由于是通过HTML5实现的VNC连接,需要libpng等许多包支持,安装过程中容易失败…
Guacamole需要tomcat6作为HTTP服务端..

部署完毕后,Guacamole有非常方便的web界面,可以自行添加服务器,支持多种协议.

Guacamole支持连接内网的服务器同时也支持连接公网的服务器,除了可以用来解决内网服务器无法连接的问题,也可以用Guacamole管理自己的其他服务器,非常方便…对于Docker用户来说,只需要搜索Docker Hub找到Guacamole的镜像就可以随时部署,部署完毕后需要通过Nginx将部署于内网的Guacamole反响代理到公网…
server {
listen 80;

location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-NginX-Proxy true;
proxy_set_header Host $host;
proxy_redirect off;
proxy_buffering off;
proxy_pass http://10.10.8.25:8080/;
}

又是一篇很水的文章,算是安利一款新的程序吧…