【概述】 FRP 与 TiDE 一起功能无法使用
【背景】 我使用 frp 实现内网穿透,链路如下:家中台式机<–frp–>腾讯云服务器<–>外网,注意:
SSH 端口非默认 22 端口。
【现象】 使用 TiDE 连接远程服务器卡死,观察到 SSH 连接不断重试。
【问题】 正常使用 vscode 的 Remote Code 功能以前远程开发是没问题的,可是 TiDE 插件无法正常使用,怀疑 TIDE 插件是否内部需要占用某些端口?因为无法访问到某些 port,超过阈值时间致使 SSH 连路断开重试?
因为腾讯云服务器出于安全考虑,端口我仅开放了一个用于 SSH 连接。
TiDE 直接部署在云服务器上,因为内存较小,之前编译 TiDB 会 OOM ,所以安装了无意义。
希望能得到 TIDE 开发者的解惑,谢谢!
1 个赞
baurine
(Baurine)
2
你好,这种链路没有测试过哈,晚点我试试。不过可以稍微再详细地描述一下使用场景吗?TiDE 现在是跑在腾讯的云服务器上对吧,然后你是在家里还是外网的机器上通过 VSCode Remote 使用 TiDE 呢?TiDE 连接远程服务器,是指连接腾讯云服务器还是连接在其它机器上部署的一套 TiDB 集群呢?具体是什么样的操作触发了这个 SSH 连接?谢谢~
懂的都懂
(wangtianyi)
4
frp 什么版本的。
是可以链接上,但是偶尔中断重连还是根本就连不上。
从我个人的使用经验来看,frp 可用,但非常的不稳定,基本十几分钟就会出现重连。目前我也没有排查是 wifi 网络的问题还是什么其他的问题。
建议您这面直接做一个家里机器的 3386 端口的转发,使用 winsw 做一个 windows 的服务,然后远程登录到家中的电脑进行链接。
参考这个做一下配置
[common]
server_addr = XXXXXXXX
server_port = XXXXXX
token=XXXXXXX
[win-remote]
type = tcp
local_ip = 127.0.0.1
local_port = 3389
remote_port = XXXXXX
懂的都懂
(wangtianyi)
5

下载一个 winsw 吧,然后把 frp 做成服务。
懂的都懂
(wangtianyi)
6
目前我也是使用腾讯云做跳板机,使用 frp 远程虚拟机和我的物理 windows 机器。
我 FRP 的行为是刚连上时 terminal 还能用
操作几下 TiDE 就重连,然后 terminal 卡死
frp 版本如下
哦哦,这个 winsw 很是可以
,谢谢
不过我还是想知道 TiDE 为什么会有这样的行为呢
懂的都懂
(wangtianyi)
9
一样的一样的。
我用 frp 做内网穿透也是这个问题。
基本上十分钟一断。不过我做了一个服务,断了以后自动起来。
这个应该不是 tide 的行为,是 frp 的问题。
jansu-dev
(Jansu Dev)
10
我觉得不是,因为我之前使用 vscode 自身的 remote SSH 功能
远程连接写一些东西的时候,经常都小时级别的使用,没有出现过中断的问题
jansu-dev
(Jansu Dev)
11
实测了下没配 winsw ,仅配 frp 转发 3389,mac RDP 远程登录 window,windows vscode 连接本机 VM 虚拟机
问题算是暂时解决了,有时间我研究下🧐配上 winsw 和 frp 直接转发能不能行得通(不实用 RDP远程界面)
到时反馈在此贴中 !!!
衍生出两个问题:
- 是不是新 merge 的 5.0.1 TiDB 源码有些问题,参照 README 直接 pull 下来, TiDE 启动总是不过
TiDB 报错:runtime error: invalid memory address or nil pointer dereference…
其他组件都没问题(TiKV PD 等),我最后把 GitHub README 里面的 pull TiDB 操作对应文件夹换成 5.0.0 版本源码就能起来了。
- 远程 RDP 稍微有点卡,这个应该和带宽有关,您日常工作用这种方式不影响吗?
或者方便提供下您家里的网络带宽吗,我参考下?
谢谢大家的帮助!
1 个赞
baurine
(Baurine)
12
Hi,jansu-dev
“新 merge 的 5.0.1 TiDB 源码” 指的是 v5.0.1 tag 的代码吗?
我在我本地 git pull 了 tidb 的代码,并切换到了 v5.0.1 tag,顺利地跑起来了,没有遇到你上面这个报错,不过我是在 mac 上跑的。
“TiDB 报错:runtime error: invalid memory address or nil pointer dereference…” 如果可以复现的话,能不能把 tidb.log 发给我们看看,谢谢!
baurine
(Baurine)
16
试一下 “Go for Visual Studio Code” 呢,dlv 包含在这个 extension 里。
jansu-dev
(Jansu Dev)
关闭
17
此话题已在最后回复的 1 分钟后被自动关闭。不再允许新回复。