DataV 增加了一个新的数据代理协议,旨在提供更安全的数据查询。它将 SQL 查询字符串和数据库 id 加密后传到这个应用,而后这个应用连接数据库将查询后的结果返回到 DataV 的页面中。
根据新的协议,我做了一个示例应用在github上,它可以一键部署到ECS上:https://github.com/ericdum/DataVProxy
大家可以直接使用这个 Node.js 版本的示例应用,也可以参照他自己实现。
欢迎大家贡献代码。
步骤
- 购买 ECS,最低配置即可,后续如果有需要可以灵活增配。
- 部署代码、启动服务
- 配置数据库
- 配置到 DataV
购买 ECS
如下图所示,在“镜像”中选择“公共镜像” => CentOS 7.0 64位。如果没有特殊需求不需要数据盘,带宽建议按流量付费。(参考价格:这样的配置每月¥45,公网流量费用¥0.8/GB)
部署代码、启动服务
下载代码包
wget https://codeload.github.com/ericdum/DataVProxy/zip/master
unzip master
cd DataVProxy-master
AI 代码解读
部署
make install
AI 代码解读
保留上图红框中的信息,下一步要用。如果忘记可以执行 node ./bin/info.js
来查看,如果需要变更 key 可用 node ./bin/genkv.js
来生成。
看到红框下面的输出的应用状态信息后,则表示启动成功了。
可以访问 http://域名:端口/status 来验证服务器状态。
如根据上图输出的信息则可访问:http://115.29.246.129:9998/status
配置数据库
打开 config.js,在 databases 数组中仿照示例增加数据库。
databases: [
{
id: 'test', // 保证 id 不重复,填入 DataV 后台的“数据库”一栏中
type: 'mysql', // rds, ads
host: '127.0.0.1', // 域名、ip
user: 'root', // 用户名
password: 'root', // 密码
database: 'test', // 数据库名
port: 3306 // 端口
},
{
// ...
},
// ... 增加数据库填到这里
]
AI 代码解读
配置到 DataV
如图所示,在创建数据源的地方选择“自定义”类型,
然后将前两步红圈中的信息填入输入框
在数据配置的地方选择“数据库”类型,再选择刚才自定义的数据源就可以了。
注意,这个服务SDK只提供了 HTTP 服务,如果需要 HTTPS 服务自己 google 一下就知道了,需要您申请 chrome 浏览器认可的 HTTPS 证书才行。
在有 HTTPS 服务之前,请确保 DATAV 页面是使用 HTTP 协议打开的。(这是浏览器为了保证https网站的安全性提供的策略)
运维
查看实时日志
pm2 logs
AI 代码解读
查看历史日志
ls -al ./DataVProxy-master/logs
AI 代码解读
重启
pm2 restart all
AI 代码解读
启动服务
pm2 start app.js
AI 代码解读