我已经使用heroku redis有一段时间了,现在在我的一个副业项目上。我目前使用它做3件事
1.它是我存储Firebase证书的地方
1.它用于缓存站点上的数据
1.它用于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计划有本质的不同吗?
我正在使用ruby on rails,如果有帮助的话,我可以用heroku redis部署在heroku上。
3条答案
按热度按时间evrscar21#
实际上,当你在Heroku应用上安装Heroku Redis时,它会为你创建2个配置变量:REDIS_TLS_URL和REDIS_URL。
这些文档实际上是不正确的,您必须将SSL设置为verify_none,因为TLS会自动发生。
来自Heroku的支持:
“我们的数据基础架构使用自签名证书,因此证书可以定期循环...您需要将verify_mode配置变量设置为OpenSSL::SSL::VERIFY_NONE”
gg58donl2#
根据Heroku的文件
您需要
创建一个名为config/initializers/redis.rb的初始化程序文件,其中包含:
此外,如果您在尝试使用sidekiq时遇到此问题:
创建一个名为config/initializers/sidekiq.rb的初始化程序文件,其中包含:
0lvr5msh3#
@ricks的回答让我完成了90%的工作,但是对于像我这样在Heroku的Redis中使用Rails.cache的人来说,你不需要初始化器,只需要生产中的这一行配置即可。rb: