启动Redis时遭遇拒绝访问的困境(启动redis拒绝访问)
最近,我遭遇了拒绝访问的困境,当我试图启动 Redis 时,报错提示如下:
Could not connect to Redis at 127.0.0.1:6379: Connection refused
一开始我以为可能是之前服务端关闭或者不正确启动造成的问题,因为很多可能性,所以我立马开始了调试,希望解决这个难题。
我执行 netstat 命令检测 TCP/IP 是否正常,发现端口 6379 没有监听,说明 redis 指定的端口没有在任何进程上监听,没有连接:
netstat -",6379
没有任何输出,表明端口6379未被监听.
接下来我诊断了 Redis 配置文件,检查 redis.conf 里的内容,比如 bind 、 secure-bind 、 protected-mode 。我发现了在 redis.conf 文件中的 protected-mode 被默认设置为 yes ,这样会导致外部连接被拒绝,所以我把这个值修改为 no :
protected-mode no
我重启 redis 服务,再次运行 netstat 命令,发现端口 6379 已经开始监听:
root@dev/ # netstat -",6379
tcp 0 0 127.0.0.1:6379 0.0.0.0:* LISTEN
启动 Redis 的问题得以解决!解决这个问题,可以总结出一些相关的经验:要注意 Redis 安全设置,如 protected-mode ,尤其是服务器上要求安全性较高时,一定要把 protected-mode 设置为 yes 。
相关文章