Azure Web 应用中的 3 层 Web 应用

3-Tier Web App in Azure Web Apps

在典型的 3 层网络应用中,您 运行 网络服务器位于 public 子网中,而应用层位于私有子网中。是否可以 运行 与 Azure Web 应用和 Api 应用类似的架构?

我想你可以 运行 Asp.NET Azure Web App 中的 Core Web App 并将 AspNet Core Web Api 部署到 Azure Api App,然后制作 Api 端点是私有的,所以只有 Web 应用程序可以与之对话?我看到 Google、Facebook 等选项。作为授权提供者。这就是将 API 设为私有的必要条件吗?

D.

如果您想要那种级别的隔离,一个(虽然昂贵)选项是应用服务环境 (ASE)。 Link 到文档:https://docs.microsoft.com/en-us/azure/app-service-web/app-service-app-service-environment-intro

App Service Environments are ideal for application workloads requiring:

  • Very high scale

  • Isolation and secure network access

默认部署的public环境是public。任何地方的任何人都可以访问您的端点,并且由您的应用程序进行过滤。这可以做到,例如通过 Web.config 中的静态 IP 地址安全设置。这样做的问题是,即使那样您也无法确定您的前端将使用哪个 IP 地址进行通信。它可以用于出站流量的多个可能地址,这些地址可能会发生变化。

您可以在此处查看 IP 限制示例:

当然,您还应该在 API 上设置身份验证。文档链接:

与@juunas 上面所说的一致,一个细微的变体是在 Azure Web 应用程序和 Azure Api 应用程序之间引入 Azure API 管理网关。在标准层 API 网关中,IP 地址为 fixed 且不会更改,您可以使用 Azure API 应用程序 web.config 中的 API 网关地址将其列入白名单.