我似乎无法在节点上使用TLS连接到Heroku Redis。
这些文档实际上没有多大帮助:https://devcenter.heroku.com/articles/securing-heroku-redis
有没有人有一个工作的例子?我应该使用REDIS_URL还是REDIS_TLS_URL?
使用node_redis v3的IM
我似乎无法在节点上使用TLS连接到Heroku Redis。
这些文档实际上没有多大帮助:https://devcenter.heroku.com/articles/securing-heroku-redis
有没有人有一个工作的例子?我应该使用REDIS_URL还是REDIS_TLS_URL?
使用node_redis v3的IM
6条答案
按热度按时间jrcvhitl1#
我发现Heroku的Redis 6插件在没有任何ioredis参数的情况下连接到REDIS_URL时会产生
Error: self signed certificate in certificate chain
错误。您可以通过将rejectUnauthorized
设置为false
来传递TLS选项来避免此错误。false
的rejectUnauthorized
允许自签名证书,如果担心MITM攻击,这将是一个问题。有关更多背景信息,请参阅TLS选项。这是为我工作与redis://和redis://的URL的最新
ioredis
包...20jt8wwn2#
下面是我的方法:分别传递URL和TLS选项会更容易。
如果你有一个运行在hobby版本的测试环境,TLS是在REDIS_TLS_URL中设置的URL,而生产环境通常运行在premium版本,环境是REDIS_URL。所以,为了与两者兼容,我首先寻找REDIS_TLS_URL,然后寻找REDIS_URL来支持测试和生产环境。
5vf7fwbs3#
对于使用
node-redis
的开发人员,您需要在初始化客户端时将TLS设置为true。zfycwa2u4#
我不知道为什么你不能连接到这个Redis加载项不幸。
如果你想在其他的附加组件上测试,我已经开发了一个Redis附加组件,在Heroku上处于“alpha”阶段(免费)。如果你不能连接到它,我可以为你提供一些支持。
如果你有兴趣,给予我你的Heroku电子邮件在私人,我会给你一个邀请:)
2eafrhcq5#
对于使用Bull的人来说,这个实现对我很有效。
dl5txlt96#
这对我使用
node-redis
v3.0.0很有效使用
tls
而不是socket
。多亏了这个。