一、前言
当我们在部署了redis服务之后,redis本身默认只允许本地访问。
但是如果当我们想要在外网进行redis访问时,该怎么实现?
实现方法:可以通过简单配置,允许外网进行访问。
这里有一个限制:Redis版本问题,版本过低不行。
在Redis3.2版本之后新增了protected-mode 配置,默认是yes,即为开启。
protected-mode设置为不同值时的效果如下:
注:如果想实现在外部访问服务器中的Redis,除了需要设置 protected-mode no 之外,还需将redis.conf 文件中的 bind 127.0.0.1注释掉。
二、具体实现步骤
1、找到自己服务器中redis的配置文件redis.conf 文件
如果不清楚,可执行 find / -name redis.conf
如果是你通过yum安装的redis,则redis的默认配置文件为:/etc/redis/redis.conf
vim /opt/redis/conf/redis.conf
注意:这里将所有的bind 都全部注释掉
2、如果你的服务器开启了防火墙策略,此时需要配置防火墙,开放对应的redis端口,该端口为你启动的redis配置文件中对应的端口号
# 1、开放redis的6379端口【假设redis端口为6379】firewall-cmd --zone=public --add-port=6379/tcp --permanent# 2、重启防火墙使得配置生效systemctl restart firewalld# 3、查看系统所有开放的端口firewall-cmd --zone=public --list-ports
3、重启redis服务
# 1、查看redis进程是否存在ps -ef | grep redis# 2、关闭redis# 找到自己redis服务中的redis-cli,./opt/redis/bin/redis-cli shutdown#3、启动redis 【加&表示以后台程序方式运行,不加也可以】./opt/redis/bin/redis-server &# 使用指定配置文件启动redis./opt/redis/bin/redis-server /opt/redis/conf/redis.conf
4、测试
#1、进入redis服务./opt/redis/bin/redis-cli -h IP地址 -p 端口# 通过执行下面的命令,看看是不是都为no,如果不是,就用config set 配置名 属性 改为no。config get daemonizeconfig get protected-mode
OK~