从我的 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
使用邮递员访问 URL 时没有问题。这与两个 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");
});
另一项观察是,可以通过浏览器或邮递员毫无问题地访问http://cap-sg-prd-3.integration.ibmcloud.com:17451/inventory 。