【发布时间】:2021-04-15 17:04:09
【问题描述】:
我有 NodeJS Web 应用程序,它试图连接到同一订阅中的 Azure Redis 缓存。
const redis = require('redis')
const redisConnectionConfig = {
host: REDIS_HOST,
port: REDIS_PORT,
auth_pass: REDIS_PASSWORD
tls: { servername: REDIS_HOST }
}
...
redis.createClient(redisConnectionConfig)
将我的 IP 添加到 Redis 防火墙规则后,我可以从本地计算机连接到 Redis。
此外,我已从服务应用程序属性中添加了所有“出站 IP 和其他出站 IP 地址”。
但它没有连接,如果我尝试使用 Redis,我会收到以下连接错误:
MaxRetriesPerRequestError: Reached the max retries per request limit (which is 20). Refer to "maxRetriesPerRequest" option for details.
为 VM here 解决了类似问题。但是对于应用服务 Azure 管理该层。
【问题讨论】:
-
我通过 ssh 连接到容器并验证了来自容器本身的 Redis 连接,你猜怎么着? - 它正在与 Redis 成功通信。实际上,在我的项目中,我使用直接 Redis 连接和基于 Redis 构建的队列 - 所以我使用不正确的连接配置初始化队列,它回退到默认值并连接到我的本地 Redis - 这就是它在本地机器上工作的原因。
标签: javascript node.js azure redis azure-webapps