0

我一直在尝试使用 Bluemix 的安全网关服务将我的 Node.js Public Bluemix 应用程序连接到位于防火墙后面的 DB2 服务器。当我尝试使用 TCP 时,一切正常。我现在正在尝试使用 TLS:Mutual Auth 选项,但我无法使其工作。

我按照本教程(https://developer.ibm.com/bluemix/2015/04/17/securing-destinations-tls-bluemix-secure-gateway/),似乎创建了隧道(我可以在日志中看到网关客户端),但没有数据通过。

Options作为参数的对象中tls.connect,如果我设置了,rejectUnauthorized: true那么我在使用生成的目的地证书时会得到“UNABLE_TO_GET_ISSUER_CERT”。如果我设置rejectUnauthorized: false,那么它似乎工作并且连接打开但没有任何通过,它只是挂起。在这两种情况下,我都使用在未设置 TLS 时工作的相同代码,并且基于ibm_dbDB2 的节点驱动程序。

有没有人有这方面的经验,我已经为此苦苦挣扎了几天,任何帮助将不胜感激。

4

1 回答 1

0

经过一番讨论,我们确定部分问题是明确说明 CA 中的证书链的一部分,导致UNABLE_TO_GET_ISSUER_CERT发出错误。这可以通过将完整链添加到 CA 或不明确向 CA 添加任何内容来解决(因为证书是公开签名的)。

已确定的一个潜在问题是ibm_dbDB2 的节点驱动程序对于 TLS 连接似乎没有按预期工作。

于 2016-10-06T15:46:55.927 回答