错误:使用 stunnal 方法连接到弹性缓存时对等连接重置

Shr*_*ash 5 redis amazon-elasticache

我正在使用弹性缓存单节点分片 redis 4.0 更高版本。

我启用了传输中加密并提供了 redis 身份验证令牌。

我使用此链接创建了一个带有 stunnal 的堡垒主机

https://aws.amazon.com/premiumsupport/knowledge-center/elasticache-connect-redis-node/

我可以使用以下方式连接到弹性缓存 redis 节点

redis-cli -h 主机名 -p 6379 -a mypassword

我也可以做telnet。 但是 当我在连接后在 redis-cli 上 ping(预期响应“PONG”)时,它给出了

“错误:对等方重置连接”

我检查了双方的安全组。任何的想法 ?堡垒主机 ubuntu 16.04 机器

Shr*_*ash 6

正如我所提到的,我正在运行这样的命令:

redis-cli -h 主机名 -p 6379 -a mypassword

通过 stunnel 连接到 ElastiCache 集群的正确方法应该是使用“localhost”作为主机地址,如下所示:

redis-cli -h localhost -p 6379 -a mypassword

有使用本地主机地址的解释:

当您通过 stunnel 在您的堡垒服务器和 ElastiCache 主机之间创建隧道时,程序将启动一个侦听本地 TCP 端口 (6379) 的服务,使用 SSL 协议封装通信并在本地服务器和 ElastiCache 主机之间传输数据远程主机。

您需要启动 stunnel,检查服务是否正在侦听 localhost 地址(127.0.0.1),并使用“localhost”作为目标地址进行连接:

  1. 开始昏迷。(确保您已使用此链接https://aws.amazon.com/premiumsupport/knowledge-center/elasticache-connect-redis-node/安装了 stunnel )

    $ sudo stunnel /etc/stunnel/redis-cli.conf

  2. 使用 netstat 命令确认隧道已启动:

    $ netstat -tulnp | grep -i stunnel

  3. 您现在可以使用 redis-cli 通过隧道的本地端点连接到加密的 Redis 节点:

    $redis-cli -h localhost -p 6379 -a MySecretPassword

    本地主机:6379>设置 foo "bar"

    好的

    本地主机:6379>获取 foo

    “酒吧”