Не удается получить доступ к удаленному серверу Redis и не может читать или записывать в базу данных Redis - PullRequest
0 голосов
/ 14 марта 2019

Я пытаюсь получить доступ к удаленному серверу redis на локальный сервер, используя узел js, но он не показывает никаких ошибок или каких-либо сообщений об успехах в журналах с этим кодом, я не знаю, что происходит с этим кодом, может кто-нибудь, пожалуйстапомогите мне решить это.Большое Спасибо заранее.

Получение этой ошибки при запуске сервера Ошибка Redis: Ошибка: Ошибка повторного подключения к 34.214.160.143:6379 - подключение ETIMEDOUT 34.214.160.143:6379

This is code im trying to access redis remote server database.

Это мой файл app.js

var express = require('express');
var app = express();
var partials = require('express-partials');
var cookieParser = require('cookie-parser');
var session = require('express-session');
var RedisStore = require('connect-redis')(session);
var bodyParser = require('body-parser');
var redis = require('redis');
var config = require('./config');

app.set('view engine', 'ejs');
app.set('view options', { defaultLayout: 'layout' });

app.use(partials());
app.use(express.static(__dirname + '/static'));
app.use(cookieParser(config.secret));

console.log(config.redisConf);

var redisClient = redis.createClient(config.redisConf);

redisClient.on('connect', function (err) {
console.log('hiiiiiiiiiiiiiiiiiii11111111111111111');
if (err) {
console.log("Error " + err);
} else {
console.log('connected to redis!!');
}
});

redisClient.on("error", function (err) {
console.log('hiiiiiiiiiiiiiiii222222222222222222');
if (err) {
console.log("Error " + err);
}
});

redisClient.set('framework', 'AngularJS', function (err, reply) {
if (err) {
console.log('terrror -- ' + err);
} else {
console.log('the framwork var was SET to AngularJS : the following is the server answer : ');
console.log(reply);
}
});

redisClient.get('framework', function (err, reply) {
if (err) {
console.log('terrror -- ' + err);
} else {
console.log('result' + reply);
}
});

app.use(session({
secret: config.secret,
resave: false,
saveUninitialized: true,
store: new RedisStore({ client: redisClient })

}));

// right after the session
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));

app.listen(config.port);
console.log("App server running on port " + config.port);

and this is config.js file

var config = {
port: 3000,
secret: 'secret',

redisConf: {
host: '34.214.160.143', // The redis's server ip 
port: '6379',
pass : 'foobared'
}
};

module.exports = config;

Но он не показывает никаких результатов или сообщений об ошибках в журналах. Может ли кто-нибудь помочь мне решить эту проблему, Большое спасибо заранее.

1 Ответ

1 голос
/ 14 марта 2019

Я думаю, вам нужно проверить настройки брандмауэра на сервере, на котором расположен сервер redis.Я попытался подключиться к вашему серверу redis из моего Ubuntu, используя:

redis-cli -h 34.214.160.14 -p 6379 -a foobared

и получил:

Не удалось подключиться к Redis по адресу 34.214.160.14:6379: истекло время ожидания соединения

Предполагается, что сервер Redis запущен и работает - это может быть связано с брандмауэром.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...