首页 > 数据库 >redis通过6379端口无法连接服务器

redis通过6379端口无法连接服务器

时间:2024-09-11 10:56:02浏览次数:3  
标签:iptables 配置文件 firewall redis Redis 防火墙 6379 端口


今天免费领取了一台云耀云服务器,但是在部署redis的时候碰到了redis在外网无法访问的情况,以下是针对碰到的问题,解决过程的记录。

如果配置Redis在不可预知的情况下只能在内网访问,而外网无法访问,先检查一下步骤是否配置 1、需要考虑到Redis配置本身是否支持远程外网访问,在redis的配置文件中找到bind参数,如果bind参数配置为127.0.0.1则不允许外网访问,此时我们需要改变它的配置,将bind参数注释掉,或者是修改为0.0.0.0,或者是相应的外网ip 地址,然后保存配置 2、其次需要考虑到Redis的安全控制,在Redis的配置文件中有一个可配置的参数 protected-mode, 如果该参数设置为yes, 则只允许本地访问,此时需要将protected-mode 参数设置为no,即可允许外网访问 3、最后需要考虑到防火墙的设置,由于Redis占用6379端口,因此我们可用

# 开放端口
sudo firewall-cmd --add-port=6379/tcp --permanent
# 重启防火墙
sudo firewall-cmd --reload

因为领到的服务器默认关闭了防火墙,所以只按照上面的1,2 步骤设置了Redis的配置文件,未设置redis的密码,按照指定配置文件的方式启动了Redis服务

查看reids启动情况,reids是启动的,

redis通过6379端口无法连接服务器_配置文件

尝试使用RedisDesktopManager连接redis,发现无法连接,日志的报错为连接超时

redis通过6379端口无法连接服务器_redis_02

百度了大多数的答案说的都是修改ip,开放端口之后问题就解决了,因为我是一步一步操作下来的,所以这些配置极其确定是没有问题的,而且都是反复查看过的

其实redis无法连接数据库就只有这几种可能,防火墙,安全组,密码,绑定IP。这次的问题感觉还是比较让人费解的,当更换端口号的时候就可以,默认端口6379就是不行。

按照顺序依次检查了防火墙,安全组,密码,配置文件,都确认没有问题之后,再次启动redis,依然是服务器可以访问,本地telnet都无法连接。这个问题很像是防火墙和绑定IP的原因。

所以我再次检查firewall防火墙(firewall-cmd --state)和iptables(service iptables status)防火墙,首先看到的是firewall防火墙是没有运行的

redis通过6379端口无法连接服务器_配置文件_03

,再去检查iptables防火墙的状态

redis通过6379端口无法连接服务器_Redis_04

这句话的意思是,找不到iptables,那就是因为系统版本的原因,已经由firewall防火墙接管了。那自然也就不再考虑是因为防火墙的原因,导致无法连接服务器。但是难受的事就在这里,当使用 iptables -L -n查看已设置的iptables规则,它竟然存在安全组规则......

redis通过6379端口无法连接服务器_Redis_05

上边结果显示范围内的端口号都只能本地访问,6379自然也就不能被访问到了。知道原因就好办了,直接使用 iptables -F将这些规则都清除掉,再次使用

iptables -L -n查看,规则都不存在了,

redis通过6379端口无法连接服务器_Redis_06

使用telnet测试服务器端口号,也可以正常连接了。这里面个人最不能理解的地方就是为什么iptables 防火墙不存在,竟然还存在它的规则。至此问题解决,有可以开心的玩耍了......

标签:iptables,配置文件,firewall,redis,Redis,防火墙,6379,端口
From: https://blog.51cto.com/u_16620657/11979840

相关文章

  • Docker 实战:快速安装 Nginx、Redis、MySQL 等常用软件
    演示下如何使用Docker来完成Redis,Tomcat和MySQL等常用软件的安装。介绍了这几个常见的软件安装之后,以后想要安装其他软件,也是依样画葫芦即可。‍总体步骤一般来说,按照如下步骤来完成安装:搜索镜像拉取镜像查看镜像启动镜像(可能需要配置端口映射)容器的操作(例如启停)......
  • 常见的默认端口
    HTTP开发服务器:端口8080,这是一个非常普遍的非标准端口,用于本地开发服务器。HTTPS开发服务器:端口8443,用于本地开发环境中的加密服务器。Websocket:端口8080或8081,有时用于本地开发中的Websocket服务。Node.js:端口3000,Node.js应用程序默认使用这个端口,但也常被其......
  • 自动驾驶端到端,到底到了哪个端口?
    最近读一些端到端的文章,发现一个问题,现在所谓的端到端,其实远远没有端到端。从最开始的传感器端到端,这样做有两个好处,1.把跟踪和检测合为一体。2.把后处理的很多tricks拿到模型上来做了,感知模型实际输出就是物体的世界坐标位置。这种文章又分两个大方向,一个是密集dense类型的,比如b......
  • Redis的五大数据类型
    Redis的五大数据类型目录一、String数据类型1.SET/GET/APPEND/STRLEN:2.INCR/DECR/INCRBY/DECRBY:3.GETSET:4.SETEX:5.SETNX:6.MSET/MGET/MSETNX:二、List数据类型1.LPUSH/LPUSHX/LRANGE:2.LPOP/LLEN:3.LREM/LSET/LINDEX/LTRIM:4.LINSERT:5.RPUSH/RPUSHX/RPOP/RPOPLPU......
  • redis本机安装
    redis本机安装1、windows版下载:Releases·microsoftarchive/redis·GitHub 2、下载后解压下载的文件即可,无需安装3、 启动服务第一种先点击redis-server.exe再点击redis-cli.exe,两个窗口都不用关,然后开始敲命令第二种运行指令:redis-server.exeredis.windows.c......
  • RAG与LLM原理及实践(17)---Docker Redis & Python Usage
    目录背景Redis环境download修改镜像RunRedisCodingpythonredisdownload基本使用描述完整代码运行结果高阶用法序列化的方式 Snapshot与AOF快照(RDB)AOF(Append-OnlyFile)代码总结发布与订阅描述     代码运行结果注意事项解释Transanction......
  • Redis实现延迟任务的操作流程
    延迟任务(DelayedTask)是指在未来的某个时间点,执行相应的任务。也就是说,延迟任务是一种计划任务,它被安排在特定的时间后执行,而不是立即执行。延迟任务的常见使用场景有以下几个:定时发送通知或消息:发送定时短信、邮件或应用内消息,如注册确认、订单状态更新、促销活动通知等......
  • 实时监控windows服务端口连接并打印到一个文件上
    话不多说,直接上脚本,test.bat 文件,目录生成netstat_log.txt,文件里面直接时间和netstat 信息都打印在那了@echooffset"logfile=netstat_log.txt":loop  echo%date%%time%>>%logfile%  echo.>>%logfile%  netstat-ano>>%logfile%  echo.>>%lo......
  • KubeCon China 回顾|快手的 100% 资源利用率提升:从裸机迁移大规模 Redis 到 Kubernetes
    大家下午好,我是来自ApeCloud的吴学强,非常高兴能够在KubeCon做分享。今天的分享由我和来自快手的刘裕惺同学共同完成,我们分享的主题是将大规模的Redis实例从裸机迁移到Kubernetes上来提高资源的利用率。我们今天的议题包括几个方面,首先我会来简单介绍一下KubeBlock......
  • Redis
    Redis单机最简配置redis.confport16000protected-modeyesrequirepasshellologfile"logs/16000.log"daemonizeyesappendonlyyesJava连接依赖Jedisimplementation'redis.clients:jedis:5.1.2'这里的用户默认就是default,你也可以传null,密码是requirepass配......