我已经研究这个雷迪斯错误好几天了.
我创建了一个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
你知道为什么我会收到这个错误吗?
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字符串:
telnet localhost 6378
AUTH <auth_string> +OK PING +PONG
之后,您可以在步骤5 ping示例,跳过发送Auth字符串将返回此错误:-NOAUTH Authentication required。除此之外,您还应该遵循文档中所述的其余步骤。
-NOAUTH Authentication required
lrl1mhuk2#
通过Stunnel和Telnet连接到Redis的选项请参阅本文档:https://cloud.google.com/memorystore/docs/redis/connecting-redis-instance#securely_connecting_to_a_redis_instance_using_stunnel_and_telnet
2条答案
按热度按时间6kkfgxo01#
如果Redis示例配置了AUTH字符串和/或TLS encryption,则在连接到它时需要传递这些凭据。
在使用您的命令连接到我的加密示例时,我收到了相同的错误。根据我的测试,可以通过两种方式完成(通过Redis所在的私有网络中的GCE示例):
**1.**使用redis-cli,您可以使用以下命令进行身份验证(有关该命令中使用的标志的信息,请参阅此处):
**2.**GCP内存存储文档建议使用telnet和Stunnel连接到安全且加密的示例。
文档中未包含的内容是,在步骤4中运行
telnet localhost 6378
后,您需要在telnet控制台中传递AUTH字符串:之后,您可以在步骤5 ping示例,跳过发送Auth字符串将返回此错误:
-NOAUTH Authentication required
。除此之外,您还应该遵循文档中所述的其余步骤。lrl1mhuk2#
通过Stunnel和Telnet连接到Redis的选项请参阅本文档:https://cloud.google.com/memorystore/docs/redis/connecting-redis-instance#securely_connecting_to_a_redis_instance_using_stunnel_and_telnet