linux下连接redis报错Could not connect to Redis at 192.168.164.118:6379: Connection refused
linux下连接redis报错Could not connect to Redis at 192.168.164.118:6379: Connection refused
在虚拟机版本Centos7环境下连接redis
[root@localhost ~]# redis-cli -h 127.0.0.1 -p 6379
127.0.0.1:6379>
但是使用IP连接报错,提示如下:
[root@localhost ~]# redis-cli -h 192.168.133.136 -p 6379
Could not connect to Redis at 192.168.133.136:6379: Connection refused
Could not connect to Redis at 192.168.133.136:6379: Connection refused
not connected
查看配置文件发现:
运行Redis的计算机直接暴露于绑定到所有接口是危险的,会暴露互联网上每个人的实例。
遵循bind指令,这将强制Redis只监听 IPv4回退接口地址(这意味着Redis将能够只接受来自同一台计算机的连接运行)。
解决办法:
1、在redis配置文件/etc/redis.conf中添加本地IP地址bind 127.0.0.1 192.168.133.136
1
2、注释掉redis配置文件/etc/redis.conf中bind指令# bind 127.0.0.1
连接redis
[root@localhost ~]# redis-cli -h 192.168.133.136 -p 6379
192.168.133.136:6379>
设置redis远程访问
首先,要配置redis远程访问,需要明确redis.conf配置文件中三个配置项的概念和作用:
bind配置的作用:用来指定允许访问的本机网卡对应的IP地址。
其中192.168.18.8是ens33网卡地址,127.0.0.1是lo回环地址。redis.conf默认是bind 127.0.0.1,即默认redis只允许本机访问。
protected-mode模式含义:一个安全保护层,目的是防止redis被互联网随意访问。假如protected-mode模式开启,当未bind特定IP地址,并且未设置访问密码的时候,只允许本地lo回环地址、unix主机名访问。
requirepass:访问密码。设置后,连接redis必须使用该密码,否则无法设置和查看数据。
结合上面三个配置项的说明,我们可以有以下几种方案实现redis外部访问:
1、不设置bind参数(注释掉所有bind行),关闭protected-mode模式,不设置访问密码。
2、不设置bind参数(注释掉所有bind行),关闭protected-mode模式,设置访问密码。
3、不设置bind参数,开启protected-mode模式,设置访问密码。
4、设置bind参数,开启protected-mode模式,不设置访问密码
5、设置bind参数,开启protected-mode模式,设置访问密码
原因:没有启动服务端。。。。。。。。
暴力解决方案
#进入redis配置目录
cd /opt/soft/redis6379/
#手动开启服务端
redis-server
#另开一个窗口直接运行
redis-cli -h 192.168.64.138 -p 6379
方案二
#本机ip或者改成应用服务所在的ip
bind 127.0.0.1
#保护模式保持默认关闭即可
protected-mode no
#redis密码设置
requirepass redispwd
连接成功!!!
更多推荐
所有评论(0)