咨询个网络问题,感谢关注

2020-12-21 19:20:24 +08:00
 ilaipi
我们给医院做了个系统,对接了一部分医院的数据,需要连医院的数据库。医院给我们的服务器,我安装了 ubuntu,部署了个 java 程序,通过程序访问数据库。另外我用 docker 跑了个 xo/usql 这个 sql 的命令行客户端。
一开始 java 程序是可以访问数据库的,好像上周开始,日志里报连接失败了。

然后到现在一直都连不上。usql 客户端连的时候提示的是:
read tcp 172.xx.xx.4:57030->10.xx.xx.20:1433: read: connection reset by peer

问了医院那边的管理员,说 172.xx.xx.4 是医院的网络设备的管理地址,服务器能 ping 通。另外,数据库服务器也能 ping 通,并且 telnet 也能通。

医院管理员说最近也没有什么网络调整,他们对 linux 不熟,不知道怎么排查。

现在有什么排查思路吗?谢谢大佬们
1112 次点击
所在节点    问与答
6 条回复
geebos
2020-12-21 19:41:49 +08:00
数据库的服务器开了防火墙吧
ilaipi
2020-12-21 19:50:34 +08:00
@geebos #1 嗯,内网服务,安全性要求非常高,他们有防火墙的
geebos
2020-12-21 19:58:27 +08:00
@ilaipi 我的意思是可能是他们的防火墙把数据库的端口禁了,可以看看防火墙规则
lixiang2017
2020-12-21 20:02:15 +08:00
用院内 windows 客户端连接试试呢。或者弄几行 python 连接试试
ilaipi
2020-12-22 09:18:10 +08:00
@geebos #3 那应该不至于的,他们数据库还是允许其它电脑访问的。

@lixiang2017 #4 跟他们确认了一下,其它 win 电脑现在能通过客户端直接连
ilaipi
2020-12-22 16:18:01 +08:00
今天解决了这个问题。之前 java 程序确实连不上过,不过不知道什么时候好了,今天重启了一下 java 程序就连接正常了。

是受了 xo/usql 这个客户端的误导了。。

今天找到了 https://github.com/denisenkom/go-mssqldb/issues/48 这个 issue,我在连接字符串增加了'?encrypt=disable'参数,然后就能连上了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/737598

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX