【问题标题】:Heroku Redis Add-On Error error:1408F10B:SSL routines:ssl3_get_record:wrong version numberHeroku Redis 插件错误错误:1408F10B:SSL 例程:ssl3_get_record:错误的版本号
【发布时间】:2021-11-09 19:39:47
【问题描述】:

将我的 Heroku Redis 插件从 v4 升级到 v6.2.3 后,Heroku papertrail 日志显示此错误:Error accepting a client connection: error:1408F10B:SSL routines:ssl3_get_record:wrong version number
我正在使用 NodeJs 和 bull npm 包 (https://www.npmjs.com/package/bull) 连接到 Redis .我发现与此错误相关的类似问题以及 Heroku 文档,并基于此将我的 bull redis 选项设置为以下内容:

redis: {
    host: redisURL.hostname,
    port: Number(redisURL.port),
    password: redisURL.password,
    tls: {
      rejectUnauthorized: false,
    },
  },

注意tls 参数。我在这里将其设置为 Heroku 的建议:https://devcenter.heroku.com/articles/heroku-redis#connecting-in-node-js

卡住了一段时间后,我尝试简单地注释掉任何连接到 Redis 的客户端代码,删除插件,然后重新配置添加在。当我这样做时,我希望在 papertrail 中看不到 redis 日志,但我仍然看到相同的错误,即使没有运行连接到 redis 的代码......这让我相信它可能是实际 Redis 添加的设置-on 实例,而不是我的代码有问题,但我不知所措。

更新:

我登录了 redis:cli 并做了一些调查。 client list 显示 2 个客户端连接。 1 是我在终端中运行的 redis:cli 的实例,另一个是带有标志的客户端,该标志表示“客户端是到此实例的副本节点连接”(请参阅​​https://redis.io/commands/client-list)。有趣的是,papertrail 中记录的错误显示了具有 SSL 错误 fd=12 的客户端连接的文件描述符,而 client list 中显示的 2 个客户端具有文件描述符 fd=10fd=11 .所以必须有另一个与fd=12 的客户端连接没有出现在client list 命令中,导致上面显示的错误。

【问题讨论】:

  • 我遇到了完全相同的问题,但还没有找到解决方案。
  • @funkenstrahlen 我能够登录redis cli(为此,您运行命令heroku redis:cli -a <app_name> 我发现很有趣。即使在我的应用程序中注释掉客户端代码后,总是有1个客户端连接到redis实例。即使在持久客户端上运行client kill后,它也只是重新连接一个新的并继续在papertrail中显示错误。抱歉,我知道这不是一个解决方案,但希望通过添加的上下文我们可以搞清楚。我想知道这个初始客户端连接是从哪里来的,它可能有答案。
  • 我在使用ioredis时遇到了同样的问题。

标签: node.js heroku heroku-redis


【解决方案1】:

遇到了同样的问题。除了rejectUnauthorized: false,添加requestCert: true, 为我解决了这个问题。此外,有些客户需要agent: false,(但我使用的 Bull 版本无法识别该参数)

  redis: {
    host: redisURL.hostname,
    port: Number(redisURL.port),
    password: redisURL.password,
    tls: {
      rejectUnauthorized: false,
      requestCert: true,
      // agent: false, (not all clients accept this)
    },
  },

【讨论】:

    猜你喜欢
    • 2014-01-12
    • 2020-11-28
    • 2021-06-01
    • 2019-02-14
    • 2015-06-20
    • 2020-09-07
    • 2015-06-19
    • 1970-01-01
    相关资源
    最近更新 更多