Bluemix スペース内のノード化されたインスタンスからセキュア ゲートウェイ経由で Tririga OSLC API にアクセスすると、エラーが発生します。Tririga サーバーは、インドのプネにある私のオフィスでホストされています。Bluemix ゾーンは米国南部です。
エラー:
Error: socket hang up : cap-sg-prd-3.integration.ibmcloud.com:15343/tririga/oslc/spq/triAllParkingLotsQC?oslc.select=*&oslc.where=spi:cstSensorId=15
SyntaxError: undefined:1 Error: socket hang up : ^ Unexpected token E
postman で URL にアクセスしても問題はありません。これは、2 つの DC 間のリンク速度と関係がありますか? Bluemix ゲートウェイの速度テストでは、アップ リンクとダウン リンクの両方で 200 ミリ秒のレイテンシーが示されています。
追加情報: サンプル アプリケーションを実行して Tririga を問題から外しました。下部に、同じ Tririga サーバーで実行されるサンプル ノード アプリ コードが表示されます。ゲートウェイ サービスで新しい宛先を作成し、新しい宛先のゲートウェイ ホストとポートを使用して NodeRed フロー経由で API にアクセスしようとしました。この API にも同じ問題があります。
エラー: ソケットがハングアップしました: cap-sg-prd-3.integration.ibmcloud.com:17451/inventory
以下のサーバー要求 '/inventory' の両方のコンソール ログがオンプレミス サーバー コンソールに表示されます。
var express = require('express');
// create a new express server
var app = express();
var inventories= [
{ city : 'Beijing', quantity : 1000},
{ city : 'Shanghai', quantity : 500},
{ city : 'Guangzhou', quantity : 1000},
{ city : 'Shenzhen', quantity : 800}
];
//Get the inventory data
app.get('/inventory', function(req, res) {
console.log("Request received");
res.send({"code":1000, "inventory":inventories});
console.log("Request sent");
});
app.listen(8000, function() {
//print a message when the server starts listening
console.log("server started on 8000");
});
もう 1 つの観察結果として、http://cap-sg-prd-3.integration.ibmcloud.com:17451 /inventory には、ブラウザーまたは postman を介して問題なくアクセスできます。