Я уже использую AWS Elasticache Redis, но без «Шифрование при передаче». Я создал новый кластер small / temp с включенным шифрованием, но не могу подключиться к нему -
redis-cli error: Connection reset by peer
eg: redis-cli -h aws.host.name -p 6379
Примечание. Соединяется нормально, если шифрование в пути не включено в кластере Redis.
Я уверен, что это потому, что я не использую шифрование TLS из экземпляра EC2:
«Чтобы подключиться к кластеру с включенным шифрованием при передаче, в базе данных должна быть включена безопасность транспортного уровня (TLS). Чтобы подключиться к кластеру, в котором не включено шифрование при передаче, для базы данных нельзя использовать TLS».
Вопросы:
Огромное спасибо.
Стандартный клиент redis-cli не поддерживает шифрование. Список клиентов Redis, поддерживающих шифрование ssl / TLS, доступен по адресу https://redislabs.com/blog/secure-redis-ssl-added-to-redsmin-and-clients/
Стандартный клиент redis (также известный как redis-cli, поставляемый с сервером redis) не поддерживает TLS.
Вот почему, когда шифрование при передаче отключено, он успешно подключается к серверу. Вам следует использовать клиент, поддерживающий TLS.
redis-cli -h aws.host.name -p 6379
должен работать с вашего экземпляра EC2. Убедитесь, что вы можете подключиться к хосту и порту (просто telnet host 6379
). Если соединение отсутствует, проверьте настройки группы безопасности вашего кластера ElastiCache (вам необходимо иметь правило входящего порта 6379, его настраивают на вкладке EC2 в разделе Группы безопасности).