你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

Azure Static Web Apps 中通过 Azure 应用服务提供 API 支持

Azure 应用服务是一个托管平台,用于托管在服务器上执行代码的 Web 应用程序。 Azure 应用服务支持许多运行时和框架,包括 Node.js、ASP.NET Core、PHP、Java 和 Python。

将 Azure 应用服务 Web 应用链接到静态 Web 应用时,对静态 Web 应用的任何请求(以 /api 开头的路由)都代理到 Azure 应用服务应用上的同一路由。

默认情况下,当应用服务应用链接到静态 Web 应用时,应用服务应用仅接受通过链接的静态 Web 应用代理的请求。 Azure 应用服务应用一次只能链接到一个静态 Web 应用。

所有 Azure 应用服务托管计划都可以与 Azure Static Web Apps 配合使用。

Static Web Apps 的 API 选项包括以下 Azure 服务:

有关详细信息,请参阅 API 概述

注意

与Azure App 服务的集成需要静态Web 应用标准计划。

静态Web 应用拉取请求环境中不支持后端集成。

先决条件

若要将App 服务链接到静态 Web 应用,需要具有现有的App 服务资源和静态 Web 应用。

资源 说明
Azure 应用服务 如果还没有 Web 应用,请按照 Azure 指南中的“创建 Web 应用”中的步骤操作。
现有的静态 Web 应用 如果还没有,请按照入门指南中的步骤创建无框架静态 Web 应用。

示例

请考虑通过以下位置公开终结点的现有Azure App 服务实例。

https://my-web-app.azurewebsites.net/api/getProducts

链接之后,可以通过静态 Web 应用中的 api 路径来访问相同的终结点,如本示例 URL 所示。

https://red-sea-123.azurestaticapps.net/api/getProducts

这两个 URL 都指向同一 API 终结点。 App 服务上的终结点必须具有/api前缀,因为静态Web 应用与向/api链接资源发出的请求匹配,并代理链接资源的完整路径。

若要将 Web 应用作为静态 Web 应用的 API 后端链接,请执行以下步骤:

  1. 在 Azure 门户中,转到 Static Web Apps。

  2. 从导航菜单中选择“API”

  3. 找到 API 管理实例要链接到的环境。 选择链接

  4. 在“后端资源类型”中,选择“Web 应用”

  5. 在“订阅”中,选择包含要链接的 Azure 应用服务应用的订阅

  6. 在“资源名称”中,选择 Azure 应用服务应用

  7. 选择链接

链接过程完成后,对以 /api 开头的路由的请求将被代理到链接的应用服务应用。

管理对 Azure 应用服务的访问权限

应用服务应用配置了一个名为 Azure Static Web Apps (Linked) 的标识提供者,该标识提供者仅允许通过静态 Web 应用代理的流量。 要使应用服务应用可供其他应用程序访问,请更新其身份验证配置以添加另一个标识提供者或更改安全设置以允许未经身份验证的访问。

若要从静态 Web 应用取消链接 Web 应用,请执行以下步骤:

  1. 在 Azure 门户中,转到 Static Web Apps。

  2. 从导航菜单中选择“API”

  3. 找到要取消链接的环境,然后选择 Web 应用名称。

  4. 选择“取消链接”

取消链接过程完成后,对以 /api 开头的路由的请求将不再被代理到应用服务应用。

注意

为防止意外向匿名流量公开应用服务应用,不会自动删除链接过程创建的标识提供者。 你可从应用服务应用的身份验证设置中删除名为 Azure Static Web Apps(已链接)的标识提供者

从App 服务资源中删除身份验证

若要使App 服务资源能够接收匿名流量,请执行以下步骤来删除标识提供者:

  1. 在Azure 门户中,导航到App 服务资源。

  2. 从导航菜单中选择“身份验证”。

  3. 从标识提供者列表中,删除与静态Web 应用资源相关的标识提供者。

  4. 选择“删除身份验证”以删除身份验证并允许匿名流量流向App 服务资源。

App 服务资源现在可以接收匿名流量。

后续步骤