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

标签 node.js heroku redis heroku-redis

我有一个 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/

相关文章:

python - Django、Heroku 和 Amazon 入门

c# - 使用两个 Redis 实例 - 类似于 Mongos

json - 如何使用 'loadtest' nodejs 模块加载测试 post API?

javascript - 将参数传递给函数导出 Node

javascript - 如何使用 Nodejs 从 mongoDB 检索图像路径

ubuntu - Heroku 麻烦 - 卸载/重新安装 heroku toolbelt ubuntu

django - 使用 django-heroku 部署 django 和 heroku-postgres 时出现问题

python - Scrapy集群分布式爬虫策略

Redis获取分数在最小值和最大值之间的成员

node.js - Express 中的路线链接