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

在 Azure Static Web Apps 中配置专用终结点

可以使用专用终结点(也称为专用链接)限制对静态 Web 应用的访问,以便只能从专用网络进行访问。

工作原理

Azure 虚拟网络 (VNet) 是一种类似于传统数据中心的网络,不过 VNet 中的资源在 Microsoft 主干网络上安全地相互通信。

通过使用专用终结点配置 Static Web Apps,可使用 VNet 中的专用 IP 地址。 创建此链接后,静态 Web 应用将集成到 VNet。 因此,你的静态 Web 应用不再适用于公共 Internet,只能从 Azure VNet 中的计算机进行访问。

注意

如果将应用程序置于专用终结点后面,则意味着只能在 VNet 所在的区域使用应用。 因此,你的应用程序在多点登录中不再可用。

如果你的应用启用了专用终结点,当请求来自公共 IP 地址时,服务器会以 403 状态代码进行响应。 此行为适用于生产环境以及任何过渡环境。 访问应用的唯一方法是使用 VNet 中部署的专用终结点。

静态 Web 应用的默认 DNS 解析仍然存在,并路由到公共 IP 地址。 专用终结点会在 VNet 内公开 2 个 IP 地址,一个用于生产环境,另一个用于任何过渡环境。 为了确保客户端能够正确访问应用,请务必让客户端将应用的主机名解析为专用终结点的适当 IP 地址。 对于默认主机名以及为静态 Web 应用配置的任何自定义域,这是必需的。 如果你在创建专用终结点时选择了专用 DNS 区域,将自动进行这种解析(参见下面的示例),这也是建议的解决方案。

如果要从本地进行连接,或者不想使用专用 DNS 区域,请手动配置应用程序的 DNS 记录,使请求被路由到专用终结点的适当 IP 地址。 可在此处找到有关专用终结点 DNS 解析的详细信息。

注意

专用终结点将传入流量限制到网站到特定虚拟网络。 它们不适用于新站点资产的部署。

先决条件

创建专用终结点

在本部分中,将为静态 Web 应用创建专用终结点。

重要

静态 Web 应用必须部署在标准托管计划上才能使用专用终结点。 可以从侧菜单的“托管计划”选项中更改托管计划。

  1. 在门户中,打开静态 Web 应用。

  2. 从侧菜单中选择“专用终结点”选项。

  3. 选择添加

  4. 在“添加专用终结点”对话框中,输入以下信息:

    设置
    名称 输入“myPrivateEndpoint”
    订阅 选择订阅。
    虚拟网络 选择你的虚拟网络。
    子网 选择子网。
    与专用 DNS 区域集成 保留默认值“是”。

    ./media/create-private-link-dialog.png

  5. 选择“确定”。

注意

专用 DNS 区域的名称取决于静态 Web 应用的默认域名后缀。 例如,如果应用的默认域后缀为 3.azurestaticapps.net,则专用 DNS 区域的名称为 privatelink.3.azurestaticapps.net。 创建新的静态 Web 应用时,默认域后缀可能与以前的静态 Web 应用的默认域后缀(es)不同。 如果使用自动化部署过程创建专用 DNS 区域,则可以使用 DefaultHostname 应用中的属性以编程方式提取域后缀。 属性值 DefaultHostname 类似于 <STATIC_WEB_APP_DEFAULT_DOMAIN_PREFIX>.<PARTITION_ID>.azurestaticapps.netSTATIC_WEB_APP_DEFAULT_DOMAIN_PREFIX.azurestaticapps.net。 默认域后缀类似于 <PARTITION_ID>.azurestaticapps.netazurestaticapps.net

测试专用终结点

由于你的应用程序不再公开可用,因此访问它的唯一方法是从虚拟网络内部访问。 若要进行测试,请在虚拟网络中设置一个虚拟机,然后转到你的网站。

后续步骤