Redis远程连接失败:配置看似正确却遭Connection refused
问题诊断与解决方案
看到你遇到的Redis连接拒绝问题,结合你的配置和操作细节,咱们一步步排查:
最可能的原因:配置修改后未重启Redis服务
你已经在/usr/local/etc/redis.conf里更新了bind列表,把192.168.1.103也加入了允许连接的IP范围,但Homebrew安装的Redis不会自动加载新配置——必须手动重启服务才能让新配置生效。
执行这条命令重启Redis:
brew services restart redis
重启后可以在192.168.1.101本地执行redis-cli INFO server,查看输出里的tcp_port和bind参数,确认服务已经监听了192.168.1.101:6379。
其他可能的排查方向
1. 防火墙/网络策略拦截
检查192.168.1.101上的防火墙设置,确保6379端口对192.168.1.103开放:
- 如果你用的是macOS(因为用了Homebrew),可以在「系统设置-网络-防火墙」里给Redis添加例外;或者临时关闭防火墙测试:
sudo /usr/libexec/ApplicationFirewall/socketfilterfw --setglobalstate off
测试成功后记得重新开启防火墙并配置规则。
2. Redis是否加载了正确的配置文件
有时候Homebrew启动Redis时可能用了默认配置,而非你修改的/usr/local/etc/redis.conf。可以用这条命令检查Redis的启动参数:
ps aux | grep redis-server
如果输出里没有--config /usr/local/etc/redis.conf,说明服务没加载你的配置。可以手动指定配置文件启动:
redis-server /usr/local/etc/redis.conf
3. 本地连接验证
先在192.168.1.101本地测试连接:
redis-cli -h 192.168.1.101 -p 6379 -a myredisPasswordisHere
如果本地能正常连接,说明问题出在网络层面;如果本地也连不上,那就是Redis服务本身的启动或配置问题。
另外补充一句:Redis 4.0的protected-mode在你已经绑定多个IP且设置了requirepass的情况下,是允许外部连接的,所以这个配置项本身没问题,不用修改它。
内容的提问来源于stack exchange,提问作者salep
相关产品推荐
相关产品推荐

