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

手机上折腾Redis连接,怎么搞才能顺利连通数据库呢?

你的Redis数据库得允许“外人”进来

你手机和Redis服务器通常不在同一个网络里,就像你家Wi-Fi不会自动让街上的人连进来一样,服务器那边的Redis默认设置是行不通的。

  • 关键一步:改Redis配置文件。 这个文件一般叫 redis.conf,你需要找到里面两行配置:

    1. bind:这一行控制Redis监听哪个网络接口,默认可能是 bind 127.0.0.1,意思是只允许本机访问,你得把它改掉,最省事的办法是直接注释掉(行首加),或者改成 bind 0.0.0.0,意思是监听所有网络接口,允许任何IP连接。(来源:Redis官方文档关于bind配置的说明)注意,这样会降低安全性,我们后面会讲怎么补救。
    2. protected-mode:这是Redis的一个安全模式,当没有设置密码,并且它认为你是从外网连接时,就会拒绝你,为了先测试连通,你可以把它改成 protected-mode no 关掉它,但这只是临时方案,长期开着非常危险。
  • 别忘了防火墙。 服务器(比如云服务器)本身有防火墙,得把Redis的端口(默认是6379)打开,以常见的云服务器为例,你要在安全组规则里,添加一条“入方向”规则,允许TCP协议的6379端口。(来源:各大云服务商(如阿里云、腾讯云)关于安全组配置的帮助文档

第二关:搞定手机上的连接工具和网络环境

手机上不像电脑,没有自带的Redis客户端,你得先装个App,在应用商店搜“Redis”或“Redis客户端”,能找到不少,比如Termius(功能强大,支持SSH和多种数据库)、Redis Client等,选一个评价好的就行。

装好App后,新建一个连接,要填几个关键信息:

  • Host(主机):这里不能填0.0.1了,得填你Redis服务器的公网IP地址,这个IP在你的云服务器管理后台能找到。
  • Port(端口):默认是6379,如果你没改过就填这个。
  • Password(密码):如果Redis设置了密码,这里要填上,设置密码是保证安全的重要措施,我们强烈建议你这么做。

这里有个常见的坑:你的手机网络问题,如果你用的是公司网络、学校网络或者一些公共Wi-Fi,它们可能会屏蔽6379这种不常见的端口,这时候,你可以尝试两个方法:1) 切换成手机4G/5G流量试试;2) 如果服务器是你可控的,可以考虑把Redis端口改成像80443这种常用且通常不会被封的端口(在redis.conf里改port配置),但要注意这可能和其他服务冲突。

第三关:安全!安全!安全!

前面为了测试,我们暂时关闭了安全设置,但数据库暴露在公网上是非常危险的,可能会被黑客扫描到并攻击,清空你的数据或者植入挖矿程序,连通之后,必须立刻把安全措施补上。

  • 强烈建议设置密码。 还是在redis.conf文件里,找到 requirepass 这一行,去掉注释,在后面写上你的强密码。requirepass YourSuperStrongPassword123!,然后重启Redis服务生效。
  • 情景A:手机用蜂窝数据(4G/5G):这是最直接的外网访问,只要服务器配置正确,一般没问题。
  • 情景B:手机连Wi-Fi:这里要小心,如果你和Redis服务器在同一个局域网(比如都连的你家的Wi-Fi),那你应该填服务器的内网IP(如168.1.xxx),这样更快更稳定,如果你在家连Wi-Fi想访问公司的Redis服务器,那还是得填公网IP。

第三关:安全!安全!安全!

前面为了测试,我们暂时关闭了一些安全设置,但一旦能连通,必须立刻把安全措施补上,不然你的数据库分分钟变成黑客的肉鸡。

  1. 设置一个强密码:在redis.conf文件里,找到 requirepass 这一行,取消注释,后面跟上你的复杂密码。requirepass YourSuperStrongPassword123!。(来源:Redis官方文档关于认证的说明
  2. 重启Redis服务:修改配置后,一定要重启Redis服务才能生效。
  3. 改掉默认端口:把端口从6379改成其他不常用的端口(比如6380),能避免被扫描工具轻易发现,在配置文件中修改 port 项。
  4. 限制访问IP(如果条件允许):如果你手机的IP相对固定(比如公司网络有固定IP),可以在服务器防火墙规则里设置白名单,只允许特定的IP地址连接6379端口,这是最安全的方式。

第四关:连接测试和排错

都设置好后,在手机App里填好公网IP、端口、密码,点击连接。

  • 如果连不上,别慌,按这个顺序排查:
    1. 密码错误:最常见的错误,仔细检查密码大小写和特殊字符。
    2. 防火墙/安全组:确认服务器的防火墙或云服务商安全组确实放行了你修改后的端口,可以暂时用 telnet 命令在电脑上测试端口通不通。
    3. 配置文件未生效:确认修改了正确的redis.conf文件,并且重启了Redis服务,可以通过 ps aux | grep redis 查看Redis进程是否带着你的配置文件启动的。
    4. IP地址错误:确认填的是公网IP,并且没有被运营商更换。

总结一下最顺滑的流程:

  1. 在Redis服务器上:改redis.conf -> bind 0.0.0.0,设requirepass 强密码,可以考虑改port
  2. 在云服务器管理台:设置安全组,放行你修改后的端口。
  3. 重启Redis服务。
  4. 在手机App上:输入公网IP、修改后的端口、密码,连接。

先以保证连通为首要目标,然后立刻回头加固安全,这样折腾下来,你的手机就能安全又顺畅地连上Redis数据库了。

手机上折腾Redis连接,怎么搞才能顺利连通数据库呢?