如何将 CNAME 从多个槽合并为通配符表达式

How to consolidate CNAME from multiple slots to a wildcard expression

在 Azure 应用服务中,我 运行 处理多个租户网络流量的网络应用程序。大部分流量流向一个插槽。但是一些 运行 在不同的位置。我希望将所有流量合并到单个插槽,该插槽接受带有通配符表达式的流量,并因此删除插槽 运行ning 特定租户。此外使用ARRAffinity。

例子

先决条件

  1. DNS 记录在 Azure 外部。未使用 Azure DNS。
  2. 正如之前 post 所建议的那样,删除 CNAME 对服务器传入请求的插槽没有影响。它仍然是为请求提供服务的同一个插槽。
  3. 主插槽(生产)配置为接收每个先前配置的 100% 传入流量。

问题

老实说,不确定您要做什么。但是,我认为当您在应用服务中添加自定义域时,这些要点可能会对您有所帮助。

部署槽是具有自己的主机名的实时应用程序。每个插槽上的每个应用程序都有单独的主机名。 SSL Binding 中的 SSL 证书应与每个插槽中选定的自定义域相匹配。如果您想配置自定义域作为示例,

app1.somehostname.com (somaapp slot)
*.somehostname.com (production slot)

例如,您将在 Azure DNS(或您的 DNS 区域提供商)上创建这样的 DNS 记录。

经过我的验证,如果您删除 DNS 区域中的 awverify.app1 CNAME,您仍应使用主机名 app1.somehostname.com 在单独的插槽中访问 Web 应用程序,因为 awverify.app1 是用于域验证和主机名 app1.somehostname.com 仍然可以解析到您的单独插槽,因为存在 CNAME app1 映射。 DNS 检查器的结果 here

但是,如果您删除主机名 app1.somehostname.comapp1awverify.app1 的 CNAME 记录,主机名 app1.somehostname.com 将解析为您的生产槽具有通配符自定义域。

总而言之,如果您想访问插槽中的 Web 应用程序,您应该配置一个 CNAME 记录映射到该插槽的主机名 URL。

如果您需要进一步的帮助,请告诉我。

如果我没记错的话,删除没有通配符的 CNAME 会使该特定插槽停止响应 Web 请求。我认为它不会自动重新分配流量。此外,还设置了 ARRAffinity 代币。

我的解决方案如下;再次删除它们的添加和通配符。显然这不是你想在高峰时段做的事情。