当前位置: 首页 > 知识库问答 >
问题:

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

商弘义
2023-03-14

我使用的是弹性缓存单节点碎片redis 4.0更高版本。

我启用了在途加密,并给了redis身份验证令牌。

我用这个链接创建了一个堡垒主机

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

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

redis cli-h hostname-p 6379-a mypassword

我也可以做telnet但是,当我ping(预期响应"PONG")在redis-cli连接后,它给

msgstr"错误:节点重置连接"

我检查了双方的安全小组。知道吗?堡垒主机Ubuntu16.04机器

共有3个答案

翟俊哲
2023-03-14

"错误:由对等方重置连接"表示Redis正在杀死您的连接而不发送任何响应。

一个可能的原因是您试图在不使用SSL的情况下连接到Redis节点,因为您的连接将在没有响应的情况下被Redis服务器拒绝[1]。确保通过隧道代理中的正确端口进行连接。如果直接从堡垒主机连接,则应使用本地主机。

另一个选项是,您错误地配置了您的特技以不包含Redis支持的SSL版本。您应该仔细检查配置文件是否与支持文档中提供的完全相同。

如果这不能解决您的问题,您可以尝试构建AWS开源贡献中包含的cli。[2] 您需要签出存储库,按照自述文件中的说明进行操作,然后执行make BUILD_SSL=yes make redis cli。

[1] https://github.com/madolson/redis/blob/unstable/src/ssl.c#L464 [2] https://github.com/madolson/redis/blob/unstable/SSL_README.md

胡墨竹
2023-03-14

很可能ElastiCache Redis实例正在使用传输中的加密和静止时的加密,而且从设计上讲,Redis CLI与加密不兼容。

你需要安装stunnel来连接redis群集

https://datanextsolutions.com/blog/how-to-fix-redis-cli-error-connection-reset-by-peer/

谷梁弘深
2023-03-14

正如我在问题中提到的,我是这样运行命令的:

redis cli-h hostname-p 6379-a mypassword

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

Redis-cli-hlocalhost-p 6379-a我的密码

有使用localhost地址的解释:

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

你需要启动这个装置,检查服务是否在监听localhost地址(127.0.0.1),并使用localhost作为目标地址进行连接:

>

  • 启动特技。(请确保使用此链接安装了stunnelhttps://aws.amazon.com/premiumsupport/knowledge-center/elasticache-connect-redis-node/)

    $sudo stunnel/etc/stunnel/redis cli。形态

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

    $netstat-tulnp | grep-i stunnel

    现在可以使用redis-cli使用隧道的本地终结点连接到加密的Redis节点:

    $redis cli-h localhost-p 6379-MySecretPassword

    localhost:6379

    行啊

    localhost:6379

    “酒吧”

  •  类似资料:
    • 我在RabbitMQ上犯了stainger错误。我发送了一些关于MQ和Php产品的信息,但出现了一些问题。我可以在出现异常“errno=104由对等方重置连接”的一分钟后发送消息。见下文: rabbitmq-3.6的版本。1,php-7.0版本。5,php amqp库的版本-“Videlavaro/php amqplib”:“~2.7 来自rabbitmq的日志:

    • 我想为我的芹菜Que(Rabbitmq)获取统计数据。我正在使用celery.app.control.检查(). stats()API。我在网络服务器上做这件事,我只能得到一次统计数据。如果我刷新页面,我得到[Errno 104]连接重置由对等错误。我怎么能处理这个。 /初始化。派克 /帮手。派克 每当有请求"get_stats"功能被命中。它只适用于在此之后的第一个请求,它说通过对等错误重置连接

    • 我使用HttpClient4.4发送get和post请求。并且我刚刚创建了一个httpclient的simpile包装器以方便使用: 当我使用这个类发送post请求时。奇怪的事情发生了: 第一次,我向服务器发送一个post请求,一分钟后就可以了,我向服务器发送一个同样的请求,也可以了。但几分钟后,我发出了一个同样的请求,有些不对劲: 但是,我仍然向服务器发送一个相同的请求,它又可以了。 每次我按照

    • 问题内容: 我使用httpclient 4.4发送get和post请求。我刚刚创建了一个简单的httpclient包装器,以方便使用: 当我使用此类发送帖子请求时。发生了一些奇怪的事情: 第一次,我将发布请求发送到服务器,几分钟后没问题,我将相同的请求发送到服务器,也行。但是几分钟后,我发送了相同的请求,出现了错误: 但是之后,我仍然向服务器发送了相同的请求,再次可以。 每当我按照上述步骤尝试时,

    • 连接错误:写入套接字时出错104。连接由对等重置。 环境: ubuntu: 16.04 python: 3.6 PC总内存: 32G 我已经安装了redis'3.0.6'。 当您尝试插入500000个数据时,它会成功,但当您尝试插入4000万个大数据时,它会失败。 当尝试将Python数据帧插入redis时,由于容量太大而失败。 数据插入成功: 数据插入失败: ConnectionResetErr

    • 当使用Python2.7和从API检索数据时,我得到了错误