节点Redis EC2 errconnrefuced

时间:2013-09-06 12:24:37

标签: node.js redis node-redis

我在Aws EC2上找到了node_redis的一些奇怪的行为。

假设我有两个EC2实例。

第一个用于DB(Redis,MYSQL等),它有一个像这样的IP ip-1-1-1-1.eu-west-1.compute.internal

第二个是基于NodeJS的应用程序,它的IP是ip-2-2-2-2.eu-west-1.compute.internal

在安全组中我添加了这个:

6379    sg-351a0441 (default)
6379    sg-333b9044 (quicklaunch-0)

我使用node_redis模块与Redis进行通信。我需要从一个实例连接到另一个实例。

所以现在我(可能)可以从另一个连接到Redis(第一台服务器):

redis = require('redis');
client = redis.createClient(6379, 'ip-1-1-1-1.eu-west-1.compute.internal');

但这种方式会导致错误:

Error: Redis connection to 127.0.0.1:6379 failed - connect ECONNREFUSED

尝试将(!)连接到127.0.0.1,而不是1.1.1.1。 我说过“好的。让我们尝试另一种方式!”

redis = require('redis');
client = redis.createClient(6379, '1.1.1.1');

而且......砰!同样的错误:

Error: Redis connection to 1.1.1.1:6379 failed - connect ECONNREFUSED

那么,也许完整的redis网址会有帮助吗?

redis = require('redis');
client = redis.createClient(6379, 'redis://1.1.1.1');

否:(

Error: Redis connection to redis://10.248.118.246:6379 failed - getaddrinfo EADDRINFO

使用内部网址时也一样:

Error: Redis connection to redis://ip-1.1.1.1.eu-west-1.compute.internal:6379 failed - getaddrinfo EADDRINFO

那么,它有什么问题?提前谢谢。

0 个答案:

没有答案