V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
ilaipi
V2EX  ›  问与答

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

  •  
  •   ilaipi · 2020-12-21 19:20:24 +08:00 · 1125 次点击
    这是一个创建于 1458 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我们给医院做了个系统,对接了一部分医院的数据,需要连医院的数据库。医院给我们的服务器,我安装了 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 不熟,不知道怎么排查。

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

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

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

    今天找到了 https://github.com/denisenkom/go-mssqldb/issues/48 这个 issue,我在连接字符串增加了'?encrypt=disable'参数,然后就能连上了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3046 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 41ms · UTC 14:00 · PVG 22:00 · LAX 06:00 · JFK 09:00
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.