我在azure上设置了一个Linux VM,我在其上运行了nodeJS服务器。我还用mongodb建立了一个cosmosDB。我可以使用nodejs和mongo-client从我的本地机器连接到cosmosdb,但是当我尝试使用linux VM中的nodjs连接到cosmosdb时,我得到连接timedout。
我假设这与防火墙,vnet或nsg有关,但我是azure的新手,所以我不知道如何解决它。
我尝试在nsg中添加一个例外以允许在10255端口上进行传出连接,但这没有任何效果。我也尝试将cosmosdb添加到vnet中,但这也没有效果。
编辑: 我用app创建了一个节点应用程序,它只有这段代码:
var mongoClient = require("mongodb").MongoClient;
mongoClient.connect("connectionString", function (err, db) {
if(err){
console.log("it did not work: "+err);
}else{
console.log("it did work");
db.close();
}
});
它在我的本地计算机上运行正常,但无法从azure VM连接。代码没什么区别