内网隧道
如果您的数据库在内网,无法通过公网访问,可以尝试Sugar BI提供的内网隧道功能。
需要注意此功能依赖公网访问,稳定性一般,安全性方面我们做了 IP 白名单限制,是使用百度智能云内网连接,但如果对稳定性和安全性要求很高,建议使用私有部署。
依赖环境
使用内网隧道需要您找到一台机器(Mac、Linux 和 Windows 7+ 都行,可以是数据库所在的机器)来运行隧道的客户端,这台机器需要满足两个条件:
- 可以访问您的内网数据库
- 可以访问公网(只要能访问就行,不需要有公网 IP)
找到这样一台机器后,您就能使用内网隧道功能了。
客户端对机器配置没有要求,如果您的数据库所在机器能访问外网,可以直接使用这台机器。
创建内网隧道
管理员可以通过空间左侧的导航进入「管理中心」的「数据源」,然后就能创建内网隧道,目前每个空间最多能创建 5 个内网隧道,每个内网隧道对应的是一个数据库连接地址,可以通过同一个隧道连接一个数据库服务器里的多个数据库:
下载客户端及运行
创建内网隧道后就能在内网隧道列表中看到,点击其中的「下载隧道客户端」,将下载后的 zip 拷贝到前面提到的那台机器上。
解压后可以看到如下几个文件:
- conf 目录,这个是系统相关配置,不用关心
- db.txt,这个是数据库配置
- start.sh,这个是 Mac 和 Linux 下的启动脚本
- start.ps1,这个是 Windows 下的启动脚本
首先,用文本编辑器打开 db.txt 文件,默认里面的内容是 127.0.0.1:3306
,您需要改成本地数据库的地址和端口。
编辑保存 db.txt 文件后,如果是 Mac 和 Linux,运行如下命令:
bash start.sh
如果需要长期运行,请使用如下命令:
nohup bash start.sh &
Windows 下的启动
因为 Windows 下比较容易出错,所以提供了 3 种方法:
- start.exe,这是能驻扎在右下角的程序,需要单独从这里下载,将它放在解压后的目录下双击运行
-
start.ps1,但 Windows 下默认会禁止执行脚本,需要进行如下操作开启:
- 点击左下角的 Windows 图表,输入 powershell
- 右键点击它,「以管理员身份运行」
- 输入如下命令后回车
set-executionpolicy remotesigned
- 手动下载 sugar_tunnel_client.exe 将它放到解压后的目录里,直接双击运行
如果是 32 位的 Windows,请下载这个版本 sugar_tunnel_client.exe,但它似乎会被微软及 360 等几个杀毒软件误判为木马,需要加一下白名单。
使用内网隧道
在添加数据源及编辑数据源时,可以通过最底部的下拉框选择使用哪个内网隧道,使用内网时无需填写数据库地址和端口,这些信息是在前面的客户端中编辑的。
注意事项
由于端口的独占特性,每个隧道只能和一个隧道客户端建立连接,因此如果已经有客户端连接后,只能先关闭之前的客户端进程,或者申请新的内网隧道。