【问题标题】:Adding SSL to CometD将 SSL 添加到 CometD
【发布时间】:2025-12-18 17:40:01
【问题描述】:

我正在使用 https://www.npmjs.com/package/cometd-nodejs-client 在服务器端为 nodejs 使用 CometD 库。我尝试连接的服务器(Genesys)使用 SSL,由于 SSL 证书,我在使用 CometD 连接到服务器时遇到 SSL 错误。我的问题是有没有办法将 ca 证书传递给 CometD 库 (https://www.npmjs.com/package/cometd)?

【问题讨论】:

  • 你得到什么错误? Genesys 应该正确签署他们的证书,不是吗?
  • 连接到 Genesys 时出现“SSL 证书问题:证书链中的自签名证书”。

标签: node.js ssl ssl-certificate cometd genesys


【解决方案1】:

CometD 库提供的XMLHttpRequest 公开了一个_config() 函数,该函数返回一个传递给Node 的http.request(...) 的配置对象,允许您在需要时配置TLS。

你可以参考这个测试用例:

https://github.com/cometd/cometd-nodejs-client/blob/1.3.0/test/https.js#L53

【讨论】:

    【解决方案2】:

    在使用 CometD 和 CometD 客户端包连接到 Genesys 时,我也看到了类似的问题。

    我有一个 nodejs 服务器,它添加了所有 /meta/handshake, /meta/connect, /meta/disconnect... 侦听器。当我尝试触发/meta/handshake 时,我看到SSL self signed certificate in certificate chain 错误。作为解决方案,我尝试在我的服务器上安装 ssl 证书并尝试连接到 Genesys,但我仍然看到相同的自签名证书错误。

    有没有办法用rejectUnauthorized: false配置监听器?

    【讨论】:

    • @sbordet 如果可以,请告诉我?