大家好,又见面了,我是你们的朋友全栈君。
欢迎大家关注我的公众号,有更多惊喜等着你!
看了网上很多解决方案,都是端口问题,将127.0.0.1改为0.0.0.0,就ok了,但是本人的问题不是端口问题,端口本来就是0.0.0.0。
其实redis无法连接数据库就只有这几种可能,防火墙,安全组,密码,绑定IP。这次的问题感觉还是比较让人费解的,当更换端口号的时候就可以,默认端口6379就是不行。
按照顺序依次检查了防火墙,安全组,密码,配置文件,都确认没有问题之后,再次启动redis,依然是服务器可以访问,本地telnet都无法连接。这个问题很像是防火墙和绑定IP的原因。
所以我再次检查firewall防火墙(firewall-cmd –state)和iptables(service iptables status)防火墙,首先看到的是firewall防火墙是没有运行的
,再去检查iptables防火墙的状态
这句话的意思是,找不到iptables,那就是因为系统版本的原因,已经由firewall防火墙接管了。那自然
也就不再考虑是因为防火墙的原因,导致无法连接服务器。但是蛋疼的事就在这里,当使用iptables -L -n查看已设置的iptables规则,它竟然存在安全组规则,脑子都凌乱了。
上边结果显示范围内的端口号都只能本地访问,6379自然也就不能被访问到了。知道原因就好办了,直接使用
iptables -F
将这些规则都清楚掉,再次使用
iptables -L -n
查看,规则都不存在了,使用telnet测试服务器端口号,也可以正常连接了。这里面个人最不能理解的地方就是为什么iptables 防火墙不存在,竟然还存在它的规则。
如果觉得不错,可以请作者喝杯咖啡☕!!!
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/133957.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...