gpt4 book ai didi

node.js - Nodejs Azure Redis 缓存永远挂起并读取 ECONNRESET 错误

转载 作者:太空宇宙 更新时间:2023-11-03 23:38:28 25 4
gpt4 key购买 nike

我创建了一个新的 Azure Redis 缓存,大约需要 5 分钟才能完成创建。我正在使用 node-redis 包,这是我的代码

var client = redis.createClient(
process.env.REDIS_PORT || 6379,
process.env.REDIS_HOST || '127.0.0.1'
);
if(process.env.REDIS_HOST) {
client.auth(process.env.REDIS_KEY);
}

是的,这些环境变量已正确设置,它只是挂起一段时间并引发错误:Redis 连接到 mycache.redis.cache.windows.net:6380 失败 - 读取 ECONNRESET。

现在,当我使用 redis-cli 尝试连接 redis-cli -h myhost -p 6380 -a the-auth-key 它只是卡在命令行并且没有连接似乎成立,但也没有错误。它只是什么都不做。如果我更改端口等,则会出现连接错误。所以我现在想知道我做错了什么?

我已经在不同的区域创建了另一个 Redis 缓存(我选择了最大的,SLA 99.9 等)。尽管如此,仍然无法建立连接。

如有任何帮助,我们将不胜感激。

最佳答案

默认情况下,新缓存仅启用 SSL 端点(端口 6380)。某些客户端(例如 redis-cli)不支持 SSL。您需要检查 node-redis 是否支持 SSL。如果您尝试使用不支持 SSL 的客户端连接到 SSL 端口,您将收到错误消息。

如果需要使用不支持SSL的客户端,有两种选择。一种是使用“stunnel”等应用程序在本地计算机和 Redis 缓存之间创建 SSL 隧道。我知道 stunnel 对于像 redis-cli 这样的临时场景效果很好,但我不确定它在生产负载下的表现如何。

第二个选项是在 Azure 门户中启用非 SSL 终结点(端口 6379)。但是,我们不建议在生产缓存中这样做,因为您的访问 key 和数据都将以明文形式发送。

关于node.js - Nodejs Azure Redis 缓存永远挂起并读取 ECONNRESET 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28159503/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com