【问题标题】:Is a node.js app running on express.js hosted in Azure using IIS?是否在使用 IIS 托管在 Azure 中的 express.js 上运行的 node.js 应用程序?
【发布时间】:2020-03-13 05:23:41
【问题描述】:

我正在开发托管在 Azure 中的应用程序。 该应用程序是基于 node.js/express.js 的网络应用程序。 由于托管在 Azure 中,它是否在 IIS 服务器上/在其中运行?

我的应用没有使用 iisnode 包。但我想知道它是否天生就在 IIS 上运行,因为它托管在 Azure 中?

另外:据我所知,IIS-express 和 express.js 是两个完全不同的托管 Web 服务器的环境.....?

【问题讨论】:

  • 如果我没记错的话,azure 会自动为您的 iisnode 节点应用程序创建一个配置。这意味着您的节点在 IIS 之后运行,并且 IIS 会将请求转发到您的 express/node 应用程序。也许来自 Azure 的人会有更准确的答案。关于 IIS-express 和 express.js:正确,它们是完全不同的东西。

标签: node.js azure express iis server


【解决方案1】:

根据您的描述,您似乎是在谈论将基于 express.js 的节点应用托管到 Azure WebApp for Windows。

是的,要在 Windows Azure WebApp 上的 IIS 中托管 Node.js 应用程序,您需要使用 iisnode(本机 IIS 模块)在 Windows 上的 IIS 中使用 web.config 文件托管 node.js 应用程序。有关更多详细信息,您可以参考 GitHub repo Azure/iisnode 的 wiki 页面 iisnode wiki 以了解 iisnode 是什么,并通过其他 wiki 页面 Using a custom web.config for Node apps 了解如何在 IIS 中使用 web.config 文件托管它GitHub 仓库projectkudu/kudu.

但是,对于适用于 Windows 的 Azure WebApp,不可以,因为您还可以使用 IIS 作为反向代理服务器,通过 Azure WebApp 指定的默认端口 %HTTP_PLATFORM_PORT% 处理 Node 应用程序,就像博客 Running java jar file to serve web requests on Azure App Service Web Apps for Java 所说的那样。但一般来说,这不是推荐的方式。

同时,对于在其他 Azure 服务上托管 Node 应用程序,例如 Azure WebApp for Liunx、Azure VM 或 Azure Container 服务,这些基于 Linux 的服务不需要 IIS,因此 iisnode 模块也不是绝对需要的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多