要使Redis服务器允许外网访问,可以遵循以下步骤进行配置:

  1. 编辑Redis配置文件

    • 找到Redis的配置文件,通常位于/etc/redis/redis.conf,但位置可能因安装方式和操作系统而异。
    • 取消绑定本地地址:在配置文件中,找到bind配置项,该选项指定了Redis监听的网络接口。默认情况下,它可能被设置为127.0.0.1,表示只允许本地连接。要允许外网访问,可以注释掉这一行,或者将其更改为0.0.0.0,表示监听所有IP地址。
  2. 调整保护模式

    • Redis 3.2及以上版本引入了protected-mode配置项,默认值为yes,这意味着Redis只接受来自localhost的连接,增强了安全性。为了允许外网访问,需要将此设置更改为no
    • 可以直接编辑配置文件,找到protected-mode行,将其设置为no,或者使用Redis命令行工具redis-cli执行命令CONFIG SET protected-mode no来临时更改此设置。但请注意,直接在命令行更改的设置在Redis重启后会恢复为配置文件中的值,因此建议直接修改配置文件。
  3. 更新防火墙规则

    • 如果服务器启用了防火墙(如iptables或ufw),还需要在防火墙上打开Redis监听的端口(默认为6379)。例如,使用ufw可以执行命令sudo ufw allow 6379/tcp来允许TCP 6379端口的流量。
  4. 重启Redis服务

    • 保存配置文件的更改后,需要重启Redis服务以使改动生效。重启命令取决于你的系统和服务管理器,常见的命令有sudo systemctl restart redis-serversudo service redis restart
  5. 测试外网访问

    • 使用一个在外网的Redis客户端工具或编写一个简单的脚本来尝试连接到Redis服务器的公共IP地址和端口(默认为6379)。

注意安全风险:允许Redis公开在网络上可访问会带来严重的安全风险,因为Redis默认没有密码认证。除非绝对必要,否则不建议这样做。如果必须开放外网访问,务必实施额外的安全措施,如设置强密码、使用SSL/TLS加密连接、配置网络访问控制列表(ACLs)或使用安全隧道(如SSH隧道)。

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐