linux虚拟机redis连接报错
今天测试了一下在本机(win10系统)远程连接 centos下的redis,结果报了以下错误:
-DENIED Redis is running in protected mode because protected mode is enabled, no bind address was specified, no authentication password is requested to clients. In this mode connections are only accepted from the loopback interface. If you want to connect
翻译附上….
英语勉强及格的我勉强看了一下这段恼人的英文,貌似有以下解决方案:
首先查看了一下进程:
1 |
|
貌似很正常!
它说没有绑定IP
我看了看
redis-server redis-6379.conf
正常!
难道是端口原因?
于是:我看了看灭火墙
关闭防火墙:service iptables stop
开启防火墙:service iptables start
防火墙状态:service iptables status
永久关闭:chkconfig iptables off
永久开启:chkconfig iptables on
很正常!3
关闭: systemctl stop firewalld(事实证明,只执行这个,重启之后是不行的,还必须执行systemclt disable firewalld)
(3)对外开发端口
1 |
|
于是就剩下了身份验证密码!
我一baiduo.com后
https://www.cnblogs.com/doufuyu/p/10861282.html
1.修改redis.conf配置文件,将绑定的ip地址端口号给注释掉。
(redis默认绑定本机地址,所以其他IP连接不上,将这一行注释掉:# bind 127.0.0.1)
2.Linux上的redis默认处于安全保护模式,因此我们无法建立连接,提供了两种解决方法,
2.1 一在redis.conf中设置保护模式为no(protected-mode no),如下图:
2.2 redis默认是不需要密码的,可以直接登录,在这里我们加上安全认证,即加上连接密码(requirepass “my_keyword”),见下图
最后,杀掉redis的相关进程并重启服务,记得启动时一定要指定配置文件。我的启动命令为:/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf
完美解决!