Я пытаюсь соединить несколько узлов Socket IO с Redis, моя машина Redis отделена от приложения, и мне пришлось предоставить имя пользователя и пароль, чтобы получить к нему доступ, мой текущий код выглядит так:
var app = require('express')();
var http = require('http').Server(app);
var io = require('socket.io')(http);
var redis = require('redis');
var redisAdapter = require('socket.io-redis');
var pub = redis.createClient('redis://{username}:{password}@{hostname}:{port}');
var sub = redis.createClient('redis://{username}:{password}@{hostname}:{port}');
io.adapter(redisAdapter({ pubClient: pub, subClient: sub }));
var port = process.env.PORT || 3000;
app.get('/', function(req, res){
res.sendFile(__dirname + '/index.html');
});
Получаю следующую ошибку:
listening on *:3000
events.js:183
throw er; // Unhandled 'error' event
^
Error: Redis connection to node********.com:6379 failed - connect ETIMEDOUT 109.109.136.70:6379
at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1191:14)
Что я могу с этим поделать?