使用 Cloudflare Tunnel 实现 VNC 远程桌面的正确姿势是什么?

15次阅读

共计 884 个字符,预计需要花费 3 分钟才能阅读完成。

我在 Cloudflare 购买了一个域名,想使用一台 Macbook 远程桌面到家里的 Mac mini 来使用,网上翻了很多帖子,说用 Tunnel 可以实现内网穿透,于是折腾了下,下面是具体的步骤:

使用家里的 Mac mini,作为服务端操作如下:

1、在 Cloudflare 控制台选择 Zero Trust 新建一个 Tunnel,并选择 Cloudflared 类型的 Connector;

2、在 Public Hostname Page 中设置了 Subdomain、Domain 参数,Service 选择了 RDP,URL 设置为 localhost:3389

3、在 Install and run a connector 的页面,复制安装命令并运行:

brew install cloudflared && 
sudo cloudflared service install eyJhIjoiNGNxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

4、运行完成后,在 Your tunnels 页面能显示出 Connectors 连接成功。

然后使用 Macbook 作为远程桌面的客户端,同样使用 brew 安装好了 cloudflared,并运行如下命令:

cloudflared access rdp --hostname xxx.xxx.com --url rdp://localhost:3389

输出日志显示启动成功:

INFO Start Websocket listener host=localhost:3389

然后我使用访达的前往服务器功能,输入:vnc://127.0.0.1:3389 进行连接,连接失败,并有如下日志输出:

ERR failed to connect to origin error="websocket: bad handshake" originURL=https://xxx.xxx.com

检查了两台 Mac 的防火墙均处于关闭状态,google 了上面的错误日志看到有说是 Cloudflare 的网络设置中没有打开 WebSocket 导致,也检查了一下是默认开启的,现在不太确定是哪里的问题,不知道有没有小伙伴有成功的案例,不胜感激。

正文完
 0