redis服务器怎么设置才能连接别人远程的redis服务,有啥注意的地方
- 问答
- 2026-01-08 19:38:31
- 4
要让你本地的Redis服务器能够被其他人远程连接,本质上就是改变Redis默认的“只允许本地访问”的设置,打开一个对外的网络接口,这个过程有点像把你家房子的门从只允许家人用钥匙进出,改成允许知道地址和门牌号的客人来访,开门迎客的同时,安全问题就成了头等大事,下面我根据Redis官方文档和一些常见的运维实践,来详细说说具体怎么做和要注意什么。
第一步:找到并修改Redis的配置文件
Redis的所有行为都由一个叫 redis.conf 的文件控制,这个文件的位置因你的安装方式而异,常见的位置可能在 /etc/redis/redis.conf 或 /usr/local/etc/redis.conf,你需要用文本编辑器(如vim、nano)打开这个文件,并找到以下几个关键设置进行修改。
绑定地址(最关键的一步)
在配置文件中,找到一行叫做 bind 的设置,默认情况下,它通常是:
bind 127.0.0.1 -::1
这行配置的意思是,Redis只监听来自本机(127.0.0.1这个回环地址)的网络连接,其他任何网络上的计算机发来的连接请求都会被拒绝。 要允许远程连接,你需要将这行修改掉,有几种改法:
-
允许任何IP地址连接(最开放,也最危险):将其注释掉(在行首加一个 ),或者改成:
bind 0.0.0.0 -::10.0.0是一个特殊地址,代表“本机的所有IP地址”,这样改之后,Redis会监听服务器上所有网卡的连接,意味着任何能通过网络访问到你服务器的机器都可以尝试连接。除非你处于绝对可信的内网环境,否则强烈不推荐在生产环境中这样设置。 -
允许特定IP地址段连接(推荐):如果你知道连接方的IP范围,可以精确指定,只允许IP地址为
168.1.100的机器和本机连接:bind 127.0.0.1 192.168.1.100这样既保证了安全性,又实现了远程连接。
保护模式(安全卫士)
Redis有一个内置的安全功能,叫做“保护模式”(protected mode),当你没有设置密码(下面会讲到),并且Redis发现它正在监听一个非回环地址(0.0.0)时,保护模式会自动开启,开启后,Redis会拒绝所有来自外部的连接请求,这是Redis防止你因配置失误而导致数据库完全暴露的最后一道防线。
对应的配置是:
protected-mode yes
如果你已经设置了密码,并且确实需要关闭保护模式以允许远程连接,可以将其改为:
protected-mode no
但更安全的做法是保持 protected-mode yes 不变,同时设置一个强密码,这样,即使你的 bind 设置不当,保护模式也能起到保护作用。
设置访问密码(必备的安全措施)
让Redis对外开放而不设密码,就像把银行金库的大门敞开一样危险,你必须设置一个强大的密码,在配置文件中找到 requirepass 配置项,默认是被注释的:
# requirepass foobared
去掉注释,把 foobared 替换成一个非常复杂、难以破解的密码。
requirepass MySuperStrongPassword123!
设置密码后,任何客户端在连接Redis时,都必须先通过 AUTH 命令提供正确的密码才能执行操作。
配置防火墙(网络层面的防护)
即使Redis服务本身配置好了,服务器操作系统的防火墙也可能阻止外部连接,Redis默认使用 6379 端口,你需要在服务器的防火墙规则中,放行对6379端口的访问,并且最好只允许你信任的特定IP地址访问这个端口,在Linux上使用ufw防火墙,可以这样命令:
sudo ufw allow from 192.168.1.100 to any port 6379
这条命令表示只允许IP 168.1.100 连接本机的6379端口,这为你的Redis服务增加了一层额外的网络隔离保护。
第二步:重启Redis服务使配置生效
修改完配置文件后,你必须重启Redis服务才能让新的设置生效,重启命令取决于你的操作系统和Redis的安装方式,常见的有:
sudo systemctl restart redis
或者
sudo service redis-server restart
重启后,你可以通过 sudo systemctl status redis 命令检查服务是否正常运行。
最重要的注意事项总结
- 安全第一:绝对不要在没有设置强密码的情况下将Redis暴露在公网(Internet)上,黑客有自动化工具全天候扫描开放的Redis服务器,一旦被发现,他们可以在几分钟内清空你的数据、植入勒索病毒或利用你的服务器发起网络攻击。
- 最小权限原则:在配置
bind指令和防火墙规则时,遵循最小权限原则,只允许确实需要连接的IP地址进行访问,不要图省事直接开放给所有IP(0.0.0)。 - 使用非默认端口:可以考虑将Redis服务运行在一个非默认的端口上(
6380),这可以避免一些简单的自动扫描,修改配置中的port 6379即可,但这只是一种“隐蔽安全”,不能替代强密码。 - 加密传输(高级选项):如果数据非常敏感,且网络环境不可信(如通过公网传输),应考虑使用SSL/TLS加密连接,但这需要更复杂的配置,包括证书管理等。
- 测试连接:配置完成后,不要直接在服务器上测试,应该从另一台获准连接的远程机器上,使用Redis客户端命令尝试连接,
redis-cli -h 你的服务器公网IP -p 6379 -a 你设置的密码连接成功后执行一个简单的
ping命令,看是否返回PONG。
让Redis支持远程连接在技术上是简单的,但核心难点和重点全在于安全配置,每一次放宽网络访问限制,都必须同步加强身份验证和授权措施,否则极易导致严重的安全事故。

本文由符海莹于2026-01-08发表在笙亿网络策划,如有疑问,请联系我们。
本文链接:https://www.haoid.cn/wenda/76996.html
