使用Azure App Services在指定的PORT上承载nodeJS net.Server
对于类项目,我试图使用Azure应用程序服务在数字端口上公开简单的node.js TCP服务。 该服务将被Java TCP客户端应用程序使用。 我已经尝试过这样做,所以使用“Web Apps”服务,但显然IIS会将我的node.js应用程序托pipe在命名pipe道上,以便node.js具有process.env.PORT = "\\.\pipe\(guid...)"
而不是我尝试的任何端口号 。 其他Azure应用程序服务是否适合托pipe具有net.Server
的TCP服务? net.Server
listen
用户定义的端口号吗? 如果是这样的话,哪个App Service为什么?
不幸的是,我所拥有的DreamSpark Azure订阅不包含虚拟机,因此,将node.JS应用程序部署到Linux VM是不适合我的select。
不幸的是,Azure应用服务不支持端口80或443之外的HTTP连接:
Azure应用服务中的应用托pipe限制的详细信息
除Azure应用程序服务(以及您指示不能使用的虚拟机)之外,如果您能够使用Azure服务结构,则可以考虑使用它来托pipeNode.js应用程序。 这将允许您指定一个特定的端口号:
在Azure Service Fabric上托pipeNode.js和类似的应用程序
Service Fabric是Azure的微服务平台,对于托pipe应用程序具有许多部署和pipe理优势。 也就是说,涉及到一些前期设置,SF的许多好处随着时间推移而增加(相对立即),所以它可能会或可能不适合您的课程项目的需求。
祝你好运!
正如@JoshL所说,Azure App Service除了端点80和443以外不会侦听其他端口上的数据包,请参阅wike页面https://github.com/projectkudu/kudu/wiki/Azure-Web- App-sandbox#network-endpoint-listening 。
根据DreamSpark的MS Azure描述,如果您必须使用Azure VM或其他服务,则可能需要升级Azure服务的订阅。