プリアンブル:私はAWS EBでノードアプリケーションを実行していますが、私はセッション管理にElasticache redis serverを使用しています。私は、connect-redisを使ってelasticacheに接続しようとしています。それは、私が提供するホスト設定を使用していないように見えます。代わりに127.0.0.1にデフォルト設定されています。connect-redisはリモートホストに接続したくありません
私はキャッシュ用に設定されたredisサーバーを持つノードアプリケーションを実行しています。以下main.js:
var bodyParser = require('body-parser');
var cookieParser = require('cookie-parser');
var expressSession = require('express-session');
var redis = require("redis");
var redisStore = require('connect-redis')(expressSession);
// Application libraries
var express = require('express');
// Redis client
var redisclient = redis.createClient();
redisclient.on("error", function (err)
{
console.log("REDIS Error " + err);
});
// Initialise the application
var app = express();
var sessionport = isNaN(process.env.SESSION_PORT) ? 6379 : Number(process.env.SESSION_PORT);
console.log('redis://' + process.env.SESSION_HOST + ':' + sessionport);
var store = new redisStore({
host: process.env.SESSION_HOST,
port: sessionport,
client: redisclient,
ttl : 2.29e+7
});
app.use(expressSession({
saveUninitialized: false,
resave: false,
secret: process.env.SESSION_SECRET,
store: store
}));
私の環境変数は以下のとおりです。私のサーバーの起動時に
SESSION_HOST: my-session-host.usw2.cache.amazonaws.com
SESSION_PORT: 6379
SESSION_SECRET: supersecret
はしかし、私は、ノードの出力から次のような出力を見ている:
Worker #1 is online. (pid 17643)
redis://liamegan-session-001.i0o002.0001.usw2.cache.amazonaws.com:6379
REDIS Error Error: Redis connection to 127.0.0.1:6379 failed - connect ECONNREFUSED 127.0.0.1:6379
REDIS Error Error: Redis connection to 127.0.0.1:6379 failed - connect ECONNREFUSED 127.0.0.1:6379
REDIS Error Error: Redis connection to 127.0.0.1:6379 failed - connect ECONNREFUSED 127.0.0.1:6379
を私はホストを提供しているにもかかわらず、127.0.0.1に接続しようとしているようです。また、redisStoreコンストラクタにredis URLを構築して提供することも試みました。
私はここで間違ったことをしていますか?