作为 Elasticache 的新手,我正在尝试从在不同 VPC 中运行的实例连接到它。当客户端位于基于 TLS 的 VPC 内时,它工作得很好,因为不需要传递 TLS 证书。(我们只需要向 redis-cli 传递“--tls”选项)。同样,当我尝试从另一个 VPC 中运行的 redis-cli 执行操作时,它不会工作。
Note:-在这里,我使用 VPC 对等互连建立了连接,如其文档中所述。通过将“--insecure”选项传递给 redis-cli 来验证它。
root@e142187efd96:/data# redis-cli -c --tls -h HOST -a asdfghjklzxcvbnm --insecure
警告:在命令行界面上使用带“-a”或“-u”选项的密码
可能不安全。
主机:6379>
我使用下面的方法获得了我的 elasticache 服务器的证书openssl
命令-
openssl s_client -showcerts -connect HOST:6379
将获得的证书传递给 redis-client 作为 -
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>
根据我的理解,我还需要通过证书和密钥。但我不知道在哪里可以找到它以及如何通过它。
对于 AWS Elasticache,您不需要显式传入--cacert
对您的价值redis-cli
.
这里重要的部分是注册正确的通用 CA 证书,您可以通过以下方式在客户端系统上执行此操作:
# Debian example
apt-get install ca-certificates
安装完成后,您可以运行:
redis-cli --tls -h <elasticache-host> -a <authstring>
希望这可以帮助。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)