2016-10-04 2 views
0

Я пытаюсь подключить приложение Node.js Public Bluemix к серверу DB2, который находится за брандмауэром, используя службу безопасного шлюза Bluemix. Когда я пытаюсь это, просто используя TCP, все работает нормально. Теперь я пытаюсь использовать параметр TLS: Mutual Auth, и я не могу заставить его работать.Подключение к серверам DB2 с использованием безопасного шлюза Bluemix и TLS

Я следовал этому руководству (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_db для DB2.

Имеет ли кто-либо опыт с этим, я боролся с ним в течение нескольких дней, и любая помощь была бы высоко оценена.

+0

При попытке подключения к TLS вы получаете соответствующие журналы на своем клиенте для попытки подключения? Если ваша БД ожидает подключения TLS, обновил ли пункт назначения в Secure Gateway, чтобы указать, что сторона назначения должна использовать TLS (и, возможно, загрузить соответствующий сертификат с вашего сервера в пункт назначения)? –

ответ

0

После некоторого обсуждения мы определили, что часть проблемы явно указывала кусок цепи сертификации в ЦС, вызывая ошибку UNABLE_TO_GET_ISSUER_CERT. Это может быть разрешено либо добавлением полной цепочки в ЦС, либо явно не добавлением чего-либо к ЦС (поскольку сертификат публично подписан).

Основная проблема, которая была идентифицирована, заключается в том, что драйвер узла ibm_db для DB2 не работает, как ожидается, для соединений TLS.

Смежные вопросы