目前,我们的 SaaS 应用程序托管在 Azure 虚拟机规模集上,现在我们计划迁移到 Azure 网站。
客户使用其自定义域(如 customer1.com、customer2.com)访问应用程序并识别客户,我们将子域分配给他们,如 customer1.myappname.com、customer2.myappname.com 等。然后,客户使用以下 DNS 记录按自定义域 customer1.com 打开 customer1.myappname.com。
CNAME www customer1.myappname.com
CNAME customer1.com customer1.myappname.com
上述实现效果很好,但是当我们尝试尝试迁移到 Azure 网站时,由于 Azure 网站上的域所有权验证,这变得具有挑战性。我已经在 azure 网站自定义域中添加了通配符 *myappname.com,并且可以访问具有 customer1.myappname.com、customer2.myappname.com 的站点。
请为自定义域建议适当的 DNS 记录以访问 azure 网站(不需要域所有权验证或某种自动化)。
我们可以使用 azure 网站 REST API 来添加和验证域所有权,但我希望这不会扩展。很高兴在 Azure 网站上听到你的此类实现。
我建议在同一应用服务计划上创建两个应用服务,因为如果在同一应用服务中添加两个自定义域(如customer1.myappname.com
和customer2.myappname.com
),你将通过这两个 URL 访问网站。如果是这样,除非您使用虚拟路径,否则识别不同的客户将没有好处,请参阅此处。但是虚拟路径也适用于所有主机名,您可能需要在web.config
文件中重写规则。
为此,可以使用主机名记录类型在其中一个应用服务的自定义域中添加自定义域customer1.myappname.com
CNAME
。另一个应用服务与添加自定义域customer2.myappname.com
相同。
要验证域所有权,您可以使用以下配置与 DNS 提供商创建CNAME
记录。了解更多信息
Type Host Value
CNAME www or subdomain somewebappxxx.azurewebsites.net
如果是这样,您的不同客户可以使用不同的 URL 访问网站,例如https://customer1.myappname.com
.希望这能帮助你。