GCP Memory Store Redis:协议错误,获取“\x15”作为回复类型字节

r7xajy2e  于 2022-09-21  发布在  Redis
关注(0)|答案(2)|浏览(324)

我已经研究这个雷迪斯错误好几天了.

我创建了一个GCP Memory Store Redis示例,并收到以下内部IP端点:

10.xxx.xxx.xxx:6378

我创建了一个小的GCE示例,并确保区域与Redis示例匹配:

us-central1-f

但是,当我ssh进入VM,连接到Redis,并发出ping命令时,我得到以下错误响应

Protocol error, got "x15" as reply type byte

你知道为什么我会收到这个错误吗?

6kkfgxo0

6kkfgxo01#

如果Redis示例配置了AUTH字符串和/或TLS encryption,则在连接到它时需要传递这些凭据。

在使用您的命令连接到我的加密示例时,我收到了相同的错误。根据我的测试,可以通过两种方式完成(通过Redis所在的私有网络中的GCE示例):

**1.**使用redis-cli,您可以使用以下命令进行身份验证(有关该命令中使用的标志的信息,请参阅此处):

redis-cli -h <ip_addres> -p <port> -a <auth_string> --tls --cacert <path/to/certificate_file.pem>
  • 注意:证书文件需要安装到您的虚拟机。*

**2.**GCP内存存储文档建议使用telnet和Stunnel连接到安全且加密的示例。

文档中未包含的内容是,在步骤4中运行telnet localhost 6378后,您需要在telnet控制台中传递AUTH字符串:

AUTH <auth_string>
+OK
PING
+PONG

之后,您可以在步骤5 ping示例,跳过发送Auth字符串将返回此错误:-NOAUTH Authentication required。除此之外,您还应该遵循文档中所述的其余步骤。

lrl1mhuk

lrl1mhuk2#

通过Stunnel和Telnet连接到Redis的选项请参阅本文档:https://cloud.google.com/memorystore/docs/redis/connecting-redis-instance#securely_connecting_to_a_redis_instance_using_stunnel_and_telnet

相关问题