【问题标题】:Hosting a nodeJS net.Server on specified PORT with Azure App Services使用 Azure 应用服务在指定端口上托管 nodeJS net.Server
【发布时间】:2016-04-05 01:53:19
【问题描述】:

对于一个类项目,我正在尝试使用 Azure App Service 在数字端口上公开简单的 node.js TCP 服务。此服务将由 Java TCP 客户端应用程序使用。我已经尝试过使用“Web Apps”服务这样做,但显然 IIS 会将我的 node.js 应用程序托管在命名管道上,以便 node.js 具有 process.env.PORT = "\\.\pipe\(guid...)" 而不是任何端口 number我试试。是否有任何其他 Azure 应用服务非常适合托管在用户定义的端口号上具有 net.Server listen 的 TCP 服务?如果是,是哪个应用服务以及为什么?

很遗憾,我的 DreamSpark Azure 订阅不包括虚拟机,因此例如将 node.JS 应用程序部署到 Linux VM 对我来说不是一个选择。

【问题讨论】:

    标签: node.js azure azure-web-app-service


    【解决方案1】:

    很遗憾,Azure 应用服务不支持端口 80 或 443 之外的 HTTP 连接:

    Details on app hosting limitations in Azure App Service

    除了 Azure 应用服务(以及您指出无法使用的虚拟机)之外,如果您能够使用 Azure Service Fabric,您可能会考虑使用它来托管您的 Node.js 应用。这将允许您指定特定的端口号:

    Hosting Node.js and similar apps on Azure Service Fabric

    Service Fabric 是适用于 Azure 的微服务平台,对托管应用程序具有许多部署和管理优势。也就是说,这涉及到一些前期设置,并且 SF 的许多好处会随着时间的推移而产生(而不是立即产生),因此它可能适合也可能不适合您的课堂项目的需求。

    祝你好运!

    【讨论】:

    • 截至目前,微软在“虚拟机”下拥有 Azure 应用服务,所以这也不是一个选项。基本上,微软将 Azure Dreamspark 学生订阅的服务限制为 this 以及 MSFT 现在称为“应用服务”的服务。您是否知道任何其他免费的 node.js 托管服务可以让我做我想做的事情(在任何数字端口上托管 TCP 服务器)?
    【解决方案2】:

    正如@JoshL 所说,Azure App Service 不会在其他端口上侦听除端点 80 和 443 之外的来自 Internet 的数据包,请参阅 wike 页面https://github.com/projectkudu/kudu/wiki/Azure-Web-App-sandbox#network-endpoint-listening。

    根据MS Azure for DreamSpark的描述,如果你必须使用Azure VM或其他服务,我建议你可能需要升级订阅Azure Service。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-12-06
      • 2021-11-08
      • 2021-03-18
      • 1970-01-01
      • 2018-05-17
      • 2021-04-10
      • 2017-11-16
      • 1970-01-01
      相关资源
      最近更新 更多