问题出现场景:
springboot整合mongo时出现连接超时问题。
疑点:我在本地启动项目没有问题,能访问到服务器的mongo,并且能通过项目访问到mongo中的数据,
这说明服务器的mongo是没有问题的,但是我把项目打包发布到服务器上的时候就报错,
一启动就报错,很奇怪,明明本地没有问题,为什么打包到服务器就出现问题了呢?
异常出现:
这个地方我百度了很久要么就是connect refuse,要么就是connect timed out,如果还有其他留言交流一下。
问题解决:
这里不进行讨论connect refuse,只进行解决connect timed out。
1、在两种都是连接失败异常,都发生在连接的时候,如果ip+port输入错误都有可能会报这两种错误。
这个时候就要检查,配置文件的ip+port是否书写正确。
2、检查服务器防火墙是否打开,如果打开是否释放你要访问的端口,不然访问的时候也会报超时异常,
以上的两种都不适合我的错误:
第一我ip+port没有写错
第二服务器的防火墙我根本没有打开,如果打开我本地肯定就不能测试通过,下面就是最坑的第三种
3、我是租用的阿里云的ecs服务器,阿里云上是可以管理端口是否进行开放,
本地上能够测试通过是因为我设置了我本地的ip能够访问所有的端口,而且优先级为*
放到服务器上项目起不来,可以尝试使用telnet工具访问端口是否能够ping通,
如果没有在阿里云上设置你会发现,服务器ping相应端口都ping不通,这时候去阿里云上设置一下服务器ip全部端口
问题搞定:(这个破问题,搞了两天,各种找问题,没想到这一点)
阿里云上这一条规则就是默认任意ip可以访问所有端口,所以没有丝毫的安全性,优先级为110,数字越小优先级越高。
问题搞定,写篇博客记录一下,希望能够帮到有缘人。