【发布时间】:2021-04-26 07:05:40
【问题描述】:
问题
在我的 Ruby on Rails 应用程序中,Heroku Redis Premium 0 插件不断出现以下错误:
OpenSSL::SSL::SSLError: SSL_connect returned=1 errno=0 state=error: 证书验证失败(证书链中的自签名证书)
Heroku Redis documentation 提到我需要在 Redis 客户端的配置中启用 TLS 才能连接到 Redis 6 数据库。为了实现这一点,我阅读了redis-rb 上的 SSL/TLS 支持文档。我的理解是;我需要为Redis.new#ssl_params 分配ca_file、cert 和key。 问题是如何为 Redis 或 Heroku 上的 Sidekiq 设置这些?
更新
更新 3:Heroku 支持提供了解决问题的答案。
更新 2:创建 Heroku 支持票并等待响应。
更新 1:Asked 关于 Sidekiq 的 Github 问题,并被建议去编写 Heroku 支持。当我得到答案时会更新这个问题。
相关信息
我已验证该应用程序在插件为以下任一情况时可以正常工作:
- Redis 6 的爱好开发
- Redis 5 的高级版 0
版本:
- 红宝石 – 3.0.0p0
- Ruby on Rails – 6.1.1
- Redis – 6.0
- redis-rb – 4.2.5
- Sidekiq – 6.2.1
- Heroku 堆栈 - 20
一些帮助我缩小问题范围的链接:
【问题讨论】:
标签: ruby-on-rails ruby ssl heroku redis