2016-10-04 11 views
0

Bluemixのセキュアゲートウェイサービスを使用して、Node.js Public Bluemixアプリケーションをファイアウォールの内側にあるDB2サーバーに接続しようとしました。 TCPを使ってみると、うまく動作します。私は現在、TLS:相互認証オプションを使用しようとしています。私はそれを動作させることはできません。BluemixセキュアゲートウェイとTLSを使用してオンプレミスDB2サーバーに接続

このチュートリアル(https://developer.ibm.com/bluemix/2015/04/17/securing-destinations-tls-bluemix-secure-gateway/)に従っていて、トンネルが作成されているようです(ゲートウェイクライアントのログに表示されているようですが)。 tls.connectのパラメータであるオブジェクトOptions

私はrejectUnauthorized: trueを設定している場合、私は先の生成された証明書を使用していながら、私は「UNABLE_TO_GET_ISSUER_CERT」を取得します。 rejectUnauthorized: falseを設定すると、動作しているように見えますが、接続は開きますが、何も通らず、ハングアップします。いずれの場合も、TLSが設定されておらず、DB2のノード・ドライバーibm_dbに基づいている場合と同じコードを使用しています。

誰もがこれを経験していますが、私は数日前から苦労しており、どんな助けでも大歓迎です。

+0

TLSとの接続を試みると、接続を試行するためにクライアントに適切なログが表示されます。 DBがTLS接続を想定している場合は、宛先側がTLSを使用する必要があることを指定するようにSecure Gatewayの宛先を更新しました(サーバーから宛先に適切な証明書をアップロードする可能性があります)。 –

答えて

0

何らかの議論の末、問題の一部が明示的にCA内の証明書チェーンの一部を示しており、UNABLE_TO_GET_ISSUER_CERTエラーが発生することが判明しました。これは、完全チェーンをCAに追加するか、証明書が公開署名されているため、CAに何も明示的に追加しないことで解決できます。

確認された根本的な問題は、ibm_dbのノードドライバがTLS接続に対して予期したとおりに動作していないように見えることです。

関連する問題