你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
注意
在企业级 Edge 静态 Web 应用中,自定义域的验证现在需要使用 TXT 令牌方法,新域不再支持 CNAME 验证。
默认情况下,Azure Static Web Apps 为你的网站提供自动生成的域名,但你可以将自定义域指向你的网站。 免费的 SSL/TLS 证书是自动为自动生成的域名以及你可以添加的任何自定义域创建的。
将自定义域映射到静态 Web 应用时,可以使用几个选项,其中包括配置子域和顶点域。
下表包含一些文章的链接,这些文章演示如何配置基于自定义域的提供程序类型。 1
| 操作 | 使用... | 使用... |
|---|---|---|
设置一个带有 www 子域的域 |
Azure DNS | 外部提供程序 |
| 设置顶点域 | Azure DNS | 外部提供程序 |
1 某些注册机构(如 GoDaddy)不支持影响配置顶点域的域记录。 请考虑将 Azure DNS 与注册机构结合使用来设置顶点域。
注意
不支持将自定义域添加到预览环境。 也不支持 Unicode 域,包括 Punycode 域和 xn-- 前缀。
关于域
一旦你的域设置完成,设置顶点域就是一个常见的配置场景。 创建顶点域是通过配置 ALIAS 或 ANAME 记录或者通过 CNAME 平展来实现的。 GoDaddy 和 Squarespace(以前的 Google)等一些域注册机构不支持这些 DNS 记录。 如果域注册机构不支持所需的所有 DNS 记录,请考虑使用 Azure DNS 配置域。
或者,对于不支持 ALIAS 记录、ANAME 记录或 CNAME 平展的域注册机构,可以为静态 Web 应用配置 A 记录。 此配置会将流量定向到静态 Web 应用的单个区域主机。 不建议使用 A 记录,因为应用程序不再受益于全局分发,并且如果流量全局分发,此类型的设置可能会影响应用程序性能。
注意
CNAME 记录将域名映射到另一个域(或子域),而 A 记录则将域名映射到 IP 地址。 如果 IP 地址发生变化,则 CNAME 条目仍然有效,这与 A 记录不同。 假设你有 WebApp1,并且你希望用户能够从 https://www.contoso.com 访问它。 可以通过两种可能的方式来实现:可以创建一个 CNAME 记录,并将其映射到 WebApp1.azurestaticapps.net。 或者,可以创建一个 A 记录,并将其映射到 WebApp1 的 IP 地址。
下面是设置自定义域时可能遇到的术语。
顶点域或根域:对于域
www.example.com,www前缀被称为子域,而example.com的剩余部分被称为顶点域。域注册机构:注册机构验证域名的可用性,销售购买域名的权利。
DNS 区域:域名系统 (DNS) 区域托管与特定域关联的 DNS 记录。 有各种记录可用于出于不同目的定向流量。 例如,域
example.com可能包含几个 DNS 记录。 一个记录处理mail.example.com的流量(对于邮件服务器),另一个处理www.example.com的流量(对于网站)。DNS 托管:DNS 主机可以维护将域名解析为特定 IP 地址的 DNS 服务器。
名称服务器:名称服务器负责存储域的 DNS 记录。
若要使用 Static Web Apps 的自定义域验证,DNS 必须可公开解析。 若要使自动证书续订正常工作,自定义域必须通过公共 Internet 解析为静态 Web 应用。 即使启用专用终结点,也支持自动证书续订。 Static Web Apps 专用终结点的目的是阻止对站点内容的 Internet 访问,但不会阻止对站点进行 Internet DNS 解析。
零停机时间迁移
你可能希望在零故障时间的情况下将当前为生产网站提供服务的自定义域迁移到静态 Web 应用。 DNS 提供商不接受同一名称和主机的多个记录,因此可以单独验证域的所有权并将流量路由到 Web 应用。
在 Azure 门户中打开静态 Web 应用。
为自定义域(APEX 或子域)添加 TXT 记录。 按如下所示在 DNS 提供商中输入“主机”,而不是输入“主机”值:
- 对于 APEX 域,请输入
_dnsauth.www.<YOUR-DOMAIN.COM>。 - 对于子域,请输入
_dnsauth.<SUBDOMAIN>.<YOUR-DOMAIN.COM>。
- 对于 APEX 域,请输入
验证域后,可以通过将
CNAME、ALIAS或A记录更新为指向 默认主机名将流量迁移到静态 Web 应用
在实例之间迁移域名
Azure 静态 Web 应用仅允许将唯一域绑定到切片中的单个资源。 尝试绑定已经绑定到另一个资源的域而不首先与原始资源解除关联将导致失败。
您可以通过检查分配给它的默认 URL 来确定资源所在的分区:
<random-prefix>.<slice>.azurestaticapps.net
例如,具有默认 URL 的 orange-pond-0a04b7203.2.azurestaticapps.net 静态 Web 应用网站已放置在切片编号 2 中。
如果要从和向迁移域的静态应用都在同一个切片中,则必须:
- 从一个实例中删除域,然后将其添加到新实例。 这将导致一些停机时间。
- 删除并重新部署新实例,直到生成的资源放入与源实例不同的切片中。
Next steps
访问以下链接,了解有关如何基于提供程序设置域的步骤。