最新消息: 电脑我帮您提供丰富的电脑知识,编程学习,软件下载,win7系统下载。

我正在尝试从heroku连接到在线Redis服务器,但是我的连接被拒绝了

IT培训 admin 2浏览 0评论

我正在尝试从heroku连接到在线Redis服务器,但是我的连接被拒绝了

我正在使用Redis包用于Node.js(ioredis),我在ScaleGrid上托管了一个Redis集群,我试图从heroku连接到该集群,但是我一直收到错误[ioredis] Unhandled error event: Error: connect ECONNREFUSED 127.0.0.1:6379 at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1106:14) Redis Error: { ReplyError: NOAUTH Authentication required.。这是我的代码

//This is what my redis uri provided by ScaleGrid uri looks like, this is not exact string though
REDIS_URI=SG-Stack-12345.servers.mongodirector:6379

import session from 'express-session';
import Redis from 'ioredis';
import connectRedis from 'connect-redis';

const redisClient = process.env.REDIS_URI;

const redis = new Redis(redisClient);
const redisStore = connectRedis(session);

redis.on('error', (err) => {
  console.log('Redis Error:', err);
});

app.use(session({
  secret: process.env.SESSION_SECRET,
  name: '_redisSession',
  resave: false,
  saveUninitialized: true,
  cookie: { secure: false },
  store: new redisStore({ client: redis, ttl: 86400 }),
}));

请问我该如何解决这个问题?还有为什么我仍然得到这个Error: connect ECONNREFUSED 127.0.0.1:6379

P.S。 Redis在我的本地主机上完美运行

回答如下:

我意识到我所需要的只是在Redis客户端连接(client.auth(password)之后立即发送密码进行身份验证。我必须为redislabs enterprise设置自己的Redis托管服务,并且由于一些奇怪的错误,还不得不从ioredis软件包更改为redis软件包。这是下面的代码

我正在尝试从heroku连接到在线Redis服务器,但是我的连接被拒绝了

我正在使用Redis包用于Node.js(ioredis),我在ScaleGrid上托管了一个Redis集群,我试图从heroku连接到该集群,但是我一直收到错误[ioredis] Unhandled error event: Error: connect ECONNREFUSED 127.0.0.1:6379 at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1106:14) Redis Error: { ReplyError: NOAUTH Authentication required.。这是我的代码

//This is what my redis uri provided by ScaleGrid uri looks like, this is not exact string though
REDIS_URI=SG-Stack-12345.servers.mongodirector:6379

import session from 'express-session';
import Redis from 'ioredis';
import connectRedis from 'connect-redis';

const redisClient = process.env.REDIS_URI;

const redis = new Redis(redisClient);
const redisStore = connectRedis(session);

redis.on('error', (err) => {
  console.log('Redis Error:', err);
});

app.use(session({
  secret: process.env.SESSION_SECRET,
  name: '_redisSession',
  resave: false,
  saveUninitialized: true,
  cookie: { secure: false },
  store: new redisStore({ client: redis, ttl: 86400 }),
}));

请问我该如何解决这个问题?还有为什么我仍然得到这个Error: connect ECONNREFUSED 127.0.0.1:6379

P.S。 Redis在我的本地主机上完美运行

回答如下:

我意识到我所需要的只是在Redis客户端连接(client.auth(password)之后立即发送密码进行身份验证。我必须为redislabs enterprise设置自己的Redis托管服务,并且由于一些奇怪的错误,还不得不从ioredis软件包更改为redis软件包。这是下面的代码

发布评论

评论列表 (0)

  1. 暂无评论