当前位置:首页 > 问答 > 正文

Redis远程访问怎么弄?配置步骤和注意事项全解析,教你一步步搞定远程连接

你需要明白,Redis为了安全起见,默认设置是只允许本机访问,也就是只允许运行Redis服务的那个服务器自己连接,这是为了防止未经授权的访问,因为Redis本身没有非常复杂的用户权限管理系统,要让其他电脑能连上你的Redis,就需要手动修改一些配置。

第一步:找到并编辑Redis的配置文件

这个配置文件通常名字叫 redis.conf,它在不同的操作系统上位置不一样。

  • 如果你是在Linux上通过编译安装的,它可能在Redis的安装目录下。
  • 如果用的是Ubuntu、CentOS等系统通过包管理器(如apt、yum)安装的,它通常会在 /etc/redis/ 目录下。

找到后,你需要用文本编辑器打开它,比如使用vim或nano:

sudo nano /etc/redis/redis.conf

第二步:修改关键配置项

在打开的配置文件中,你需要找到并修改两个最重要的设置。

  1. 找到 bind 配置项(来源:redis.conf文件注释) 这一行默认可能是 bind 127.0.0.1 -::1,这个意思是只允许本地回环地址(即本机)连接。

    • 修改方法一(允许任何IP访问):最简单但也最不安全的方法是直接注释掉这一行(在行首加一个),或者改成 bind 0.0.0.00.0.0表示监听服务器上所有网络接口的连接,这样任何能访问到你服务器的电脑都能尝试连接。
    • 修改方法二(允许特定IP段访问):如果你知道要连接过来的电脑的IP范围,可以指定更精确的绑定,bind 192.168.1.100(只允许这个IP连接)或 bind 0.0.0.0 ::1(同时监听所有IPv4和本地IPv6),但通常为了方便,很多人会先改成 bind 0.0.0.0
  2. 找到 protected-mode 配置项(来源:redis.conf文件注释) 这个保护模式是Redis的一项安全功能,当它开启时(默认是yes),如果Redis没有设置密码(下文会讲),并且绑定地址是默认的(只绑了127.0.0.1),那么它会拒绝来自外部的连接请求,既然我们现在修改了bind地址允许外部连接,但可能还没设密码,保护模式就会起作用阻止连接。

    • 修改方法:为了能让远程连接成功,在你设置密码之前,可能需要先将这个选项改为 protected-mode no 来暂时关闭保护模式。但请注意,这只是一个临时步骤,最终的安全要靠设置强密码来保证。
  3. (强烈建议)设置访问密码 requirepass(来源:redis.conf文件注释) 这是保证安全最关键的一步,在配置文件中找到 requirepass 这一行,默认是被注释掉的,你取消注释,并在后面设置一个非常复杂的密码。

    requirepass 你的超级复杂密码

    设置密码后,任何客户端在连接Redis时,都必须先通过密码认证才能执行操作。

第三步:重启Redis服务使配置生效

修改完配置文件后,必须重启Redis服务新的设置才能起作用,根据你的操作系统,重启命令可能不同。

  • 在Ubuntu/Debian上:sudo systemctl restart redis-server
  • 在CentOS/RHEL上:sudo systemctl restart redis
  • 如果用的是老的init.d系统:sudo service redis-server restart

重启后,你可以先在Redis服务器本机上用redis-cli连一下,确认服务正常启动。

第四步:配置服务器防火墙

现在Redis服务本身已经允许远程连接了,但服务器的防火墙很可能还在阻挡外部访问Redis的端口(默认是6379),所以你需要在防火墙规则里放行这个端口。

  • 如果用的是iptables,需要添加一条规则。
  • 如果用的是ufw(Ubuntu常见),命令是:sudo ufw allow 6379
  • 如果用的是云服务器(如阿里云、腾讯云、AWS),你还需要登录云服务商的管理控制台,在安全组规则中,添加一条入站规则,允许TCP协议访问6379端口,这一步非常关键,很多人忘了做导致连不上。

第五步:远程客户端连接测试

你可以从另一台电脑尝试连接了,连接命令和本地连接类似,但要加上服务器的IP地址(或域名)和密码(如果你设置了的话)。

redis-cli -h 你的服务器IP地址 -p 6379 -a 你的密码

如果一切顺利,你就会看到Redis的命令行提示符,表示连接成功。

重要的注意事项(安全!安全!安全!)

  1. 密码强度是第一道防线:一定要设置一个非常长、非常复杂的密码,不要用简单的字典词汇或常见密码,因为Redis速度极快,黑客可以用工具每秒尝试数十万次密码破解。
  2. 考虑修改默认端口:黑客经常扫描互联网上开放了6379端口的服务器,你可以将Redis的端口改成一个不常见的数字(在配置文件中修改port项),这样可以避免很多自动扫描攻击。
  3. 防火墙/IP白名单是第二道防线:如果可能,最好在防火墙层面设置规则,只允许你信任的特定IP地址访问Redis的端口,彻底拒绝其他所有IP的连接请求,这是非常有效的安全措施。
  4. 谨慎使用bind 0.0.0.0:虽然这样最方便,但也意味着你的Redis服务暴露给了整个互联网,务必结合强密码和防火墙白名单使用。
  5. 不需要远程访问时记得关闭:如果你的应用和Redis服务最终是部署在同一台服务器或同一个内部网络中的,那么最好恢复成本地访问模式(bind 127.0.0.1),关闭防火墙的端口放行,这样最安全。

核心步骤就是改配置(bind、保护模式、密码)、重启服务、开防火墙,但整个过程的核心思想是:在实现功能的同时,每一步都要考虑到安全问题,不能把一个没有密码的Redis服务直接暴露在公网上,那相当于把家门钥匙插在门上,非常危险。

Redis远程访问怎么弄?配置步骤和注意事项全解析,教你一步步搞定远程连接