You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Node.js使用redis包连接Redis报ECONNREFUSED,服务正常防火墙已放行如何解决

问题原因

  • 核心错误为端口号输入笔误:Redis默认监听端口为6379,你的Node连接代码、ufw防火墙放行规则中均错误填写为6739,导致请求指向了未被Redis监听的端口,触发连接拒绝报错。你本地执行redis-cli ping能正常返回PONG,也侧面验证了Redis实际运行在默认的6379端口上。
  • 附加问题:你贴出的JS代码存在语法错误,createClient配置项闭合后多了一个多余的右大括号。

解决方法

  1. 修正Node连接代码:修改端口号为正确的6379,同时删除多余的大括号,修正后代码如下:
const redis = require('redis')

const client = redis.createClient({
    host: '127.0.0.1',
    port: 6379
  })
  1. 修正ufw防火墙规则:先删除之前错误放行的6739端口规则,再添加正确的6379端口放行规则,执行命令如下:
# 先确认规则序号,和你当前输出一致的情况下执行以下删除命令,若规则序号有变化可先执行sudo ufw status确认后再删除
sudo ufw delete 10
sudo ufw delete 5
# 放行正确的Redis默认端口
sudo ufw allow 6379
# 重载防火墙规则生效
sudo ufw reload
  1. 重启你的Node应用,即可正常连接Redis服务。

内容的提问来源于stack exchange,提问作者Anthony Luzquiños

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 00:06:05