Yog*_*war 5 ssl openssl redis amazon-elasticache tls1.2
作为 Elasticache 的新手,我正在尝试从在不同 VPC 中运行的实例连接到它。当客户端位于基于 TLS 的 VPC 内时,它工作得很好,因为不需要传递 TLS 证书。(我们只需要向 redis-cli 传递“--tls”选项)。同样,当我尝试从另一个 VPC 中运行的 redis-cli 执行操作时,它不会工作。
注意:-在这里,我已使用 VPC 对等互连建立连接,如其文档中所述。通过将“--insecure”选项传递给 redis-cli 来验证它。
root@e142187efd96:/data# redis-cli -c --tls -h HOST -a asdfghjklzxcvbnm --insecure
警告:在命令行界面上使用带“-a”或“-u”选项的密码可能不安全。主机:6379>
openssl
我使用以下命令获得了我的 elasticache 服务器的证书-
openssl s_client -showcerts -connect HOST:6379
Run Code Online (Sandbox Code Playgroud)
将获得的证书传递给 redis-client 作为 -
redis-cli -c --tls -h HOST -a asdfghjklzxcvbnm --cacert cert.crt
Run Code Online (Sandbox Code Playgroud)
它抛出以下错误 -
Could not negotiate a TLS connection: Invalid CA Certificate File/Directory
Could not negotiate a TLS connection: Invalid CA Certificate File/Directory
not connected>
Run Code Online (Sandbox Code Playgroud)
根据我的理解,我还需要通过证书和密钥。但我不知道在哪里可以找到它以及如何通过它。
小智 7
对于 AWS Elasticache,您不需要将--cacert
值显式传递到您的redis-cli
.
这里重要的部分是注册正确的通用 CA 证书,您可以通过以下方式在客户端系统上执行此操作:
# Debian example
apt-get install ca-certificates
Run Code Online (Sandbox Code Playgroud)
安装完成后,您可以运行:
redis-cli --tls -h <elasticache-host> -a <authstring>
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助。
归档时间: |
|
查看次数: |
4735 次 |
最近记录: |