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

想知道Redis怎么从外面连进来,详细方法和步骤都在这儿讲呢

默认情况下,Redis为了安全,只允许它所在的那台机器(我们称之为服务器或主机)上的程序连接,这就像您的家门,默认只允许家里人进出,如果我们想让外面的朋友(即其他机器上的应用程序)也能进来做客,就需要做一些准备工作,主要是“配钥匙”和“告诉Redis家门朝哪开”。

整个过程可以分为几个关键步骤,我们一步一步来。

第一步:检查Redis是否已启动并可本地访问

在做任何外部连接设置之前,您得先确保Redis服务本身在服务器上是正常运行的。

想知道Redis怎么从外面连进来,详细方法和步骤都在这儿讲呢

  1. 登录到您的服务器:通过SSH等工具连接到安装Redis的那台Linux服务器。
  2. 检查Redis服务状态:输入命令 systemctl status redis/etc/init.d/redis status(具体命令取决于您的操作系统版本),如果看到“active (running)”的字样,说明服务是开着的。
  3. 测试本地连接:在服务器上,使用Redis自带的命令行客户端尝试连接一下,输入命令 redis-cli,如果成功,你会看到一个提示符,0.0.1:6379>,输入 ping,如果Redis回复 PONG,恭喜你,说明Redis服务本身完全正常,然后输入 quit 退出。

这是所有后续操作的基础,必须先搞定。

第二步:配置Redis,让它“监听”外部地址

这是最关键的一步,默认情况下,Redis只监听 0.0.1 这个地址,这个地址代表“本机自己”,我们需要修改它的配置文件,让它也监听服务器的对外网络地址。

  1. 找到配置文件:Redis的配置文件通常是 redis.conf,它可能位于 /etc/redis//etc/ 或您安装时指定的目录下,可以用 find / -name redis.conf 命令查找。
  2. 备份配置文件:在修改前,做个备份是个好习惯,执行 cp /etc/redis/redis.conf /etc/redis/redis.conf.bak
  3. 修改配置:使用文本编辑器(如nano或vim)打开配置文件。sudo nano /etc/redis/redis.conf
  4. 找到 bind 配置项:在文件里找到一行以 bind 开头的配置,默认可能是 bind 127.0.0.1bind 127.0.0.1 ::1
  5. 修改 bind 参数:您有几个选择:
    • 最开放(也最危险)的方式:注释掉这一行(在行首加一个 )或者改成 bind 0.0.0.00.0.0 表示监听所有可用的网络接口,意味着任何能访问到这台服务器的IP地址都能尝试连接。除非在绝对安全的内部网络,否则不推荐。
    • 更安全的方式bind 后面跟上您服务器的内网IP地址,如果您的服务器内网IP是 168.1.100,就写成 bind 127.0.0.1 192.168.1.100,这样,既允许本地程序连接,也允许同一内网下的其他机器通过内网IP连接。
  6. 设置连接密码(强烈推荐):为了保护您的数据,必须设置密码,在配置文件中找到 requirepass 这一行,默认是被注释的,去掉注释,并在后面设置一个强密码。requirepass YourSuperStrongPassword123!
  7. 关闭保护模式:找到 protected-mode 这一项,确保它是 yes,当 protected-mode 为 yes 时,如果Redis没有设置密码(requirepass)且没有明确绑定到非回环地址(即您只绑定了127.0.0.1),它会拒绝外部连接,因为我们刚刚修改了bind并设置了密码,所以保持protected-mode yes是安全的。
  8. 保存并退出:保存对配置文件的修改。

第三步:配置服务器的防火墙

想知道Redis怎么从外面连进来,详细方法和步骤都在这儿讲呢

现在Redis已经准备好接受外部连接了,但服务器的防火墙可能会拦住它,我们需要为Redis的端口(默认是6379)开个绿灯。

  1. 如果使用云服务器(如阿里云、腾讯云AWS):您需要登录云服务商的管理控制台,找到您的云服务器实例,进入其“安全组”或“防火墙”设置,添加入站规则,允许来自您指定IP地址(比如您自家电脑的IP,或者0.0.0/0代表允许所有IP,极度不推荐)的TCP协议访问6379端口。
  2. 如果使用服务器自身的防火墙(如iptables或firewalld)
    • 对于firewalld(CentOS 7+等):sudo firewall-cmd --permanent --add-port=6379/tcp sudo firewall-cmd --reload
    • 对于ufw(Ubuntu等):sudo ufw allow 6379/tcp

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

配置修改后,必须重启Redis服务才能生效。

执行命令:sudo systemctl restart redis/etc/init.d/redis restart

想知道Redis怎么从外面连进来,详细方法和步骤都在这儿讲呢

重启后,最好再次用第一步的方法检查一下Redis服务是否正常启动。

第五步:从外部客户端进行连接测试

一切准备就绪,您可以从另一台电脑(您的开发机)上尝试连接了。

  1. 准备连接信息
    • 主机(Host):您服务器的公网IP地址,可以在云服务器控制台查看。
    • 端口(Port):默认6379。
    • 密码(Password):您在配置文件中设置的强密码。
  2. 使用连接工具
    • 命令行工具(如果本地有Redis):在您的电脑上打开终端,使用 redis-cli -h your_server_public_ip -p 6379 -a your_password 命令连接,连接成功后,输入 ping,看到 PONG 即表示成功。
    • 图形化工具:像Redis Desktop Manager、Another Redis Desktop Manager等工具非常直观,在新建连接时,正确填写上述的主机、端口、密码三项,然后点击测试连接即可。

重要安全提醒

  • 密码一定要强:弱密码很容易被破解,导致数据泄露或被勒索。
  • 限制访问IP:在云服务器安全组中,尽量不要开放 0.0.0/0(全世界都可访问),只允许您信任的、固定的IP地址(如您的办公室IP)访问6379端口,这能极大提升安全性。
  • 考虑使用VPN或内网:对于生产环境,最安全的方式是让应用程序和Redis服务器处于同一个私有网络(VPC)内,通过内网IP通信,完全杜绝公网访问,或者通过VPN接入到服务器所在网络后再连接。

就是从外部连接Redis的完整流程,核心就是三步:改配置(bind和密码)、开防火墙、重启服务,希望这些详细的步骤能帮助您顺利连上Redis。