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

NestJS CacheModule连接AWS ElastiCache Redis报ECONNREFUSED错误

问题原因

报错里明确显示客户端尝试连接127.0.0.1:6379被拒绝,说明你写的ElastiCache地址配置根本没有被底层Redis客户端读取,和网络、ElastiCache服务本身无关——毕竟同环境redis-cli已经能正常连通。
核心问题是cache-manager-redis-store的版本和你写的配置结构不匹配:v2及更早版本的cache-manager-redis-store依赖redis@3.x客户端,不支持嵌套的socket配置项,你写在socket里的host、port、tls参数全被忽略,客户端自动回退到默认的本地6379端口连接,才会报这个错。

修复方法

二选一即可:

方案1:适配旧版依赖,调整配置结构

如果不想更换依赖,直接把socket层级里的参数提出来,放到配置最外层即可:

CacheModule.register<RedisClientOptions>({
  isGlobal: true,
  store: redisStore,
  host: 'master.my-server.use1.cache.amazonaws.com',
  port: 6379,
  tls: true,
  password: 'my-password',
})

方案2:升级依赖,保留原有配置结构

如果要使用新版redis客户端的配置格式,先卸载旧的不兼容包,安装新版适配的依赖:

npm uninstall cache-manager-redis-store
npm install @cache-manager/redis cache-manager@5

安装完成后导入新包对应的redisStore,你原来写的嵌套socket配置不需要修改,就能正常读取连接参数。

注意事项
  • 配置修改后记得重启PM2进程,避免旧代码缓存导致配置不生效
  • 你已经验证过redis-cli可以连通,不需要额外调整安全组、VPC网络、ElastiCache白名单配置
  • 如果ElastiCache启用了传输加密,保持tls: true即可,不需要额外传入证书内容

内容的提问来源于stack exchange,提问作者Eudes Tenório

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.03 01:51:56