DataVProxy遇到的坑

在使用阿里云DataV大屏管理的时候,如果想要动态地从数据库中获取数据,可以通过github上的一个开源工具DataVProxy来实现代理。

所有要配置的操作只要跟着教程来就行了,唯独几个月后,再次做一个大屏的时候,却一直报连接错误。数据库的配置没有改变过,密码和密钥都没问题。正一头雾水的时候,后台抓包发现了问题,原来代理服务器配置走的是http协议,但是阿里云做了一次跳转,将其变成了https协议。也就是说代理服务器必须支持https协议,即DataVProxy需要加入https证书。

因为DataVProxy是基于Node.js创建的,所以得要查看其源码,对其加入https的支持。经过一番倒腾,总算代理服务支持https协议了,但是连接数据库的时候依然报错。因为第一次连接阿里云走的是http协议。而http协议和https协议又不能同时使用同一个端口,这让我一个不太懂服务器知识的人很迷茫。

但是我又想尝试一下http的协议,于是将其改为了http协议的端口号,结果竟然提示我连接成功。整个操作和最初的操作相比,我只是将原来域名的部分,由原来的ip地址改为了其对应的域名。也就是说原来域名的部分我一直用的是ip地址,但是https协议必须要求填写域名,所以我只是把ip改为了域名。

想一想,其实应该是阿里云,对于域名直接走http跳转,但是如果是ip地址的话,他会将其变成https协议后,再进行跳转。虽然不知道出于什么原因,但解决方法应该也不止这一种,比方说强制使用https协议。时隔几个月没用大屏了,阿里的后台也经过了调整。也记录这DataVProxy使用时遇到的坑。

avatar

chilihotpot

You Are The JavaScript In My HTML