如何将具有前端 SPA 的 Azure CDN 和具有 .Net Core WebApi 的 Azure WebApp 配置为同一自定义域?

How to configure Azure CDN with front-end SPA and Azure WebApp with .Net Core WebApi to same custom domain?

提问人:Steven Pfeifer 提问时间:8/27/2019 最后编辑:Steven Pfeifer 更新时间:8/27/2019 访问量:1603

问:

我希望将 https://example.com 作为我已设置的 Azure CDN 的自定义域,并将 https://example.com/api 作为 rest api 终结点,以捕获从 SPA 到提供数据的后端 .Net Core Web API 的所有调用。

如何在应用服务上设置自定义域来提供 https://example.com/api,并使用 Azure CDN 的同一自定义域来提供所有前端 SPA 网页?

现在,我仅为应用服务配置了自定义域,但我想将前端 SPA 移动到 Azure CDN,以便为 Web API 释放尽可能多的资源。

提前感谢您,任何方向将不胜感激。

C# Azure Vue.js . net-core azure-cdn

评论

0赞 Stanley Gong 8/27/2019
嗨,如果要为Azure CDN添加自定义域,请参阅:learn.microsoft.com/en-us/azure/cdn/...
0赞 Steven Pfeifer 8/27/2019
嗨,感谢您的回复,但我希望我的 Azure CDN 和应用服务使用相同的自定义域,这仅显示如何向 Azure CDN 添加自定义域
0赞 Stanley Gong 8/27/2019
韦克洛姆 !据我所知,不可能将一个域分配给不同的服务。那么你在这里解决CORS问题吗?如果是这样,这个文档可能对你有帮助:learn.microsoft.com/en-us/azure/app-service/......
1赞 Thomas 8/27/2019
您应该尝试使用子域来解决这个问题:对于您的 API 和 SPA,因为它将是您的用户可见的域。api.example.comexample.com

答:

2赞 Nancy 8/27/2019 #1

遗憾的是,无法在两个不同的公共服务中添加相同的自定义域,因为只有在需要通过 CNAME 或 DNS 记录添加到 CDN 终结点和应用服务时,该名称上没有其他记录时,才能使用该记录。请参阅 CNAME 记录 wikiCNAMEcustom domains

在这种情况下,可以按照本教程通过 DNS 记录将自定义域添加到 Azure CDN 终结点,但需要创建一个子域,而不是根域,然后将子域添加到 Azure CDN 终结点。CNAMEsubdomain.example.comexample.comcustom domains

2赞 Steve 8/27/2019 #2

可以引入另一种资源(如 Azure Front Door),它可以充当代理,并将 CDN 和应用服务隐藏在单个域后面。

Front Door 允许配置路由规则,以便将请求路由到应用服务,并将静态资产请求路由到 CDN。/api

然后,可以将 DNS CNAME 设置为 Front Door,所有请求都将发送到该位置,而不是直接发送到 CDN 或应用服务。

这为您提供了无需担心 CORS 的优势,因为从外部角度来看,一切都来自同一个域。

它还具有其他好处,例如允许您配置请求限制、SSL 终止和全局负载平衡等。

评论

0赞 Steven Pfeifer 8/28/2019
哇,我从来没有注意到这项服务,谢谢!通过 Azure Front Door 后面的 CDN 提供的前端 SPA 文件是否计入帐单,作为 Front Door 出站数据传输?只是因为我对定价有点困惑