当前位置: 首页 > 面试题库 >

使用Redis-cli + stunnel以外的客户端通过传输加密+ Auth连接到AWS ElastiCache

呼延景同
2023-03-14
问题内容

我正在尝试使用Ruby
Redis客户端和两个NodeJS客户端(node_redis或ioredis)之一来连接到具有过渡加密和身份验证且启用了Amazon
ElastiCache集群的问题。对于所有三个客户端,一旦我连接,我就会立即收到ECONNRESET错误,并在发生连接重试时一遍又一遍。

我已经关注过AWS文档,并且能够使用stunnel通过redis-
cli成功进行连接,但是到目前为止,尚未能够与任何其他客户端进行连接。

从这个SO答案来看,似乎不需要证书,我们只需要将空选项传递给TLS配置(如果适用),但是无论我输入什么内容都不会成功。我还尝试过stunnel.pem在所有客户端中传递默认的tunnel
私钥作为证书,以防万一,这显然也不起作用。其他使用ElastiCache的人的帮助或专业知识将是有帮助的!


问题答案:

对于这两个客户端,默认的TLS行为是验证服务器证书,我们需要将其禁用。这两个客户端的解决方案如下:

NodeJS客户端:

const redis = require('redis')
const client = redis.createClient({host: hostOrIp, port: 6379, auth_pass: 'thePassword', tls: { checkServerIdentity: () => undefined }})

Ruby客户端:

require "redis"
redis = Redis.new(url: connectionString, ssl_params: { verify_mode: OpenSSL::SSL::VERIFY_NONE })


 类似资料:
  • 问题内容: 有没有一种方法可以使用客户端(而不是Node.js)JavaScript直接连接到Redis? 我已经为一些项目成功使用了Node.js + PHP + Redis + Socket.io(用于客户端)。但是,我确实认为这可以进一步简化为类似PHP + Redis + Browser javascript的东西- 取出Node.js服务器,这是我不愿意使用的另一台服务器。对于简单的事情

  • 我无法将S3对象上载到S3存储桶中。我使用了以下命令: aws s3api放置对象--bucket=opsops--key=Cloudformation_upload.csv--body=Cloudformation.csv--sse customer algorithm=AES256--sse customer key=mtizundu2nzg5mgfiy2rl--customer-key-md

  • 问题内容: 具有加密功能的ElastiCache使用TLS与Redis客户端进行通信,但是正如我所见,在将客户端配置为我们的TLS时,所有语言(ioredis,predis,go- redis)的Redis客户端都需要一个pem文件。 如何在不提供TLS证书的情况下通过传输加密连接到Elasticache? 问题答案: 解决方案-不需要证书,仅用于在客户端中启用TLS(例如,ioredis仅具有

  • 我正在尝试使用Ruby redis客户端和两个NodeJS客户端(node_redis或ioredis)中的任何一个连接到启用了传输中加密和身份验证的Amazon ElastiCache集群,并且遇到问题。对于所有三个客户端,一旦我连接,我就会立即抛出一个ECONNRESET错误,并且在连接重试发生时一次又一次。 我遵循了AWS文档,能够使用stunnel通过redis cli成功连接,但到目前为

  • 问题内容: 我正在设计一个将Redis用作数据库的Web服务,并且我想了解使用Redis与StackService客户端连接的最佳实践。 关键是我一直在阅读有关Redis的文章,发现与服务器交互的最佳方法是使用单个并发连接。 问题是,尽管每当Web客户端向Web服务发出请求时,我都会使用 PooledRedisClientManager ,但我又获得了一个到Redis服务器的连接客户端(打开的连接

  • 我启用了在集群模式下配置的aws redis弹性缓存,并且我有一个主副本和一个副本(都位于不同的可用性区域)。我正在使用Spring RedisTemboard以及LettuceClientConfiguration,但当我尝试写入redis时,会出现以下错误:- [超文本传输协议-Nio-8080-exec-5]ERRORc.a.w.c.auth.登录-身份验证失败:执行中出错;嵌套异常io.l