问题描述
我在我的一个业余项目中使用 heroku redis 已经有一段时间了。我目前将它用于 3 件事
- 它是我存储 Firebase 证书的地方
- 用于缓存网站数据
- 它用于 rails sidekiq 作业
最近,我的 heroku 使用率上升,我不得不将其更改为使用 heroku redis 高级计划。从那时起,我一直以某种方式获得 error: SSL_connect returned=1 errno=0 state=error: certificate verify Failed (self signed certificate in certificate chain)
。一切都保持不变,但错误开始突然出现。
heroku-redis 高级计划是否与基本的 heroku-redis 计划有根本的不同?
我在 rails 上使用 ruby,如果有帮助,我会使用 heroku redis 部署在 heroku 上。
解决方法
实际上,当您在 heroku 应用程序上安装 Heroku Redis 时,它会为您创建 2 个配置变量:REDIS_TLS_URL 和 REDIS_URL。
文档实际上不正确,您必须将 SSL 设置为 verify_none,因为 TLS 会自动发生。
来自 Heroku 支持:
“我们的数据基础设施使用自签名证书,因此证书 可以定期循环...需要设置verify_mode OpenSSL::SSL::VERIFY_NONE 的配置变量"