gpt4 book ai didi

node.js - 与 Heroku Redis 实例的 Redis 连接错误 : Redis connection to failed - read ECONNRESET heroku instance

转载 作者:行者123 更新时间:2023-12-05 03:26:55 25 4
gpt4 key购买 nike

我有一个 Node js 应用程序。我使用来自 Heroku Redis 的 Redis(带有 async-redis 库)。实际上,我有两个不同的 Heroku 帐户和两个由 Heroku 托管的不同 Node.js 应用程序。但除了 Redis 凭据外,这两个应用程序都是相同的代码。

我的应用程序中有趣的是,我可以连接到第一个 Heroku Redis 实例。但是我无法连接到新的 Heroku Redis 实例。此外,我删除并创建了新实例,但它们不起作用。

错误是:

    Error: Redis connection to redis-123.compute.amazonaws.com:28680 failed - read ECONNRESET\n    
at TCP.onStreamRead (internal/stream_base_commons.js:162:27)

我的连接语句是这样的:

var redisPassword = 'password123';
var redisOptions = { host: 'redis-123.cloud.redislabs.com', port: '17371', auth_pass: redisPassword }
//var redisPassword = 'password123';
//var redisOptions = { host: 'redis-123.compute.amazonaws.com', port: '28680', auth_pass: redisPassword }

const client = redis.createClient(redisOptions);

client.on('connect', function () {
console.log('Redis client connected');
});

client.on('error', function (err) {
console.log('An error on Redis connection: ' + err);
});

正如我所见,Heroku Redis 实例唯一不同的地方。我的第一个 Redis 实例托管在 cloud.redislabs.com 但第二个实例(我无法连接)托管在 compute.amazonaws.com

任何帮助将不胜感激。

最佳答案

我遇到了这种情况,结果是通过 TLS 连接的“Heroku Redis”工作正常(以 rediss 开头的 url),一旦我调整了我的客户端代码以按照 Heroku redis 文档中提供的示例进行连接:

https://devcenter.heroku.com/articles/connecting-heroku-redis#ioredis-module

const Redis = require("ioredis");

const client = new Redis(process.env.REDIS_URL, {
tls: {
rejectUnauthorized: false
}
});

在哪里process.env.REDIS_URLrediss://<details>

关于node.js - 与 Heroku Redis 实例的 Redis 连接错误 : Redis connection to failed - read ECONNRESET heroku instance,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71579951/

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