我正在构建一个使用node-redis连接到ElastiCache Redis的nodejs应用程序。我正在尝试启用传输中加密。
以下是我目前掌握的情况:
const redis = require('redis');
const socket = {
host: redisAddress,
port: redisPort,
tls: true
}
const redisCluster = redis.createCluster({ rootNodes: [{ socket }] })
redisCluster.connect()
不幸的是,我得到了以下错误:
UnhandledPromiseRejectionWarning: Error: read ECONNRESET
1条答案
按热度按时间twh00eeo1#
从node-redis documentation on clustering:
rootNodes-作为群集一部分的根节点的数组,将用于获取群集拓扑。数组中的每个元素都是客户端配置对象。无需指定群集中的每个节点,3个节点应足以可靠地连接并从服务器获取群集配置
这意味着我们在rootNodes中指定的客户端配置适用于根节点,但不是适用于拓扑中的每个节点,您需要做的是也指定
defaults
。defaults-群集中每个客户端的默认配置值。例如,在指定要连接的ACL用户时使用此值
您的代码最终将类似于: