作为ElastiCache的新手,我正在尝试从运行在不同VPC中的示例连接到它。当客户端在VPC over TLS内时,它工作得非常好,因为不需要传递TLS证书。(我们只需要将--TLS选项传递给redis-cli)。同样,当我尝试在另一个vpc中运行redis-cli时,它不会起作用。
**注意:-**在这里,我已经按照他们的文档中提到的使用vPC对等建立了连接。通过将“--insecure”选项传递给redis-cli进行了验证。
Root@e142187efd96:/data#redis-cli-c--tls-h host-a asdfghjklzxcvbnm--不安全
警告:在命令行界面上使用带有‘-a’或‘-u’选项的密码可能不安全。主持人:6379>
我使用以下openssl
命令为我的ElastiCache服务器获得了证书-
openssl s_client -showcerts -connect HOST:6379
将获得的证书传递给Redis-客户端-
redis-cli -c --tls -h HOST -a asdfghjklzxcvbnm --cacert cert.crt
它被抛到了错误之下-
Could not negotiate a TLS connection: Invalid CA Certificate File/Directory
Could not negotiate a TLS connection: Invalid CA Certificate File/Directory
not connected>
据我所知,我还需要通过证书和钥匙。但我不知道在哪里可以找到它,也不知道如何通过它。
1条答案
按热度按时间bgibtngc1#
对于AWS ElastiCache,您不需要显式将
--cacert
值传递给您的redis-cli
。这里重要的部分是注册正确的公共CA证书,您可以通过以下方式在您的客户端系统上完成此操作:
安装后,您可以运行:
希望这能帮上忙。