【问题标题】:Error: certificate has expired in Node错误:节点中的证书已过期
【发布时间】:2017-03-17 16:13:34
【问题描述】:

我在 Heroku 上的生产节点应用随机开始抛出以下错误:

Error: certificate has expired
     at Error (native)
     at TLSSocket.<anonymous> (_tls_wrap.js:1060:38)
     at emitNone (events.js:86:13)
     at TLSSocket.emit (events.js:185:7)
     at TLSSocket._finishInit (_tls_wrap.js:584:8)
     at TLSWrap.ssl.onhandshakedone (_tls_wrap.js:416:38)
 error: Forever detected script exited with code: 1
 error: Script restart attempt #1
 Creating a pool connected to blah.thing.com:port
 Running migrations for database 'app_name'...
 events.js:160
       throw er; // Unhandled 'error' event
       ^

我对两件事感到困惑。我的证书是最新的,所以我不知道为什么它说它已过期,其次,我的应用程序目录中仅有的两个名为“events.js”的文件位于两个看似无关的节点模块(inquirer 和 twilio)中,并且不要甚至没有第 160 行。这可能是什么原因,我应该如何调试它?

edit:此外,它只是生产应用程序(当然),而不是 staging 或本地应用程序,这很奇怪,因为 staging 和 production 都指向同一个证书。

【问题讨论】:

标签: node.js ssl heroku npm ssl-certificate


【解决方案1】:

我遇到了同样的问题,对我来说,远程“游乐场”服务器的证书已过期。 (节点试图通过 web-socket 连接的服务器)

【讨论】:

    【解决方案2】:

    我的项目中有类似的错误

    Error: certificate has expired
    at TLSSocket.<anonymous> (_tls_wrap.js:1116:38)
    at emitNone (events.js:106:13)
    at TLSSocket.emit (events.js:208:7)
    at TLSSocket._finishInit (_tls_wrap.js:643:8)
    at TLSWrap.ssl.onhandshakedone (_tls_wrap.js:473:38)
    at TLSSocket.<anonymous> (_tls_wrap.js:1116:38)
    at emitNone (events.js:106:13)
    at TLSSocket.emit (events.js:208:7)
    at TLSSocket._finishInit (_tls_wrap.js:643:8)
    at TLSWrap.ssl.onhandshakedone (_tls_wrap.js:473:38)
    

    原来问题出在用于跟踪用户事件的外部服务(振幅)中。他们 Sectigo 的旧版 AddTrust 外部 CA 根证书已过期,这影响了互联网上的许多公司。为了解决这个问题,他们使用新端点和新证书升级了他们的软件包。

    因此,如果有人遇到类似问题,请首先考虑应用内使用的所有可能的外部服务。

    【讨论】:

    • 谢谢,在我自己的情况下恰好是垃圾邮件。
    猜你喜欢
    • 2019-08-04
    • 1970-01-01
    • 1970-01-01
    • 2020-09-18
    • 1970-01-01
    • 1970-01-01
    • 2019-12-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多