Подключение к Elasticache Redis с включенным TLS (шифрование в пути)

Наш Discourse использует кластер Redis, созданный в Amazon ElastiCache, что позволяет включить шифрование при передаче (TLS). Однако после включения TLS в ElastiCache Discourse не может подключиться к Redis.

Похоже, что Discourse не поддерживает это, хотя клиент redis-rb поддерживает, как упоминается в аналогичной проблеме здесь Redis::ConnectionError: Connection lost (ECONNRESET) when using ElastiCache with TLS enabled · Issue #771 · redis/redis-rb · GitHub

2 лайка

Я добавляю pr-welcome к этому. Не стесняйтесь, отправьте один, @Yevhenii_Baraniuk :wink:

3 лайка

Обновление: я начал реализовывать эту функцию, но столкнулся с проблемой: драйвер hiredis, который использует Discourse, на данный момент (по состоянию на июль 2019 года) не поддерживает SSL, хотя клиент redis-rb поддерживает. Я вернусь к этому PR, когда выйдет новая версия hiredis, которая будет поддерживать SSL :slight_smile:

4 лайка

Поскольку hiredis давно устарел благодаря @sam, я создал этот PR, который добавляет поддержку TLS к нашим подключениям к Redis:

Я сейчас его тестирую, и всё работает.

4 лайка