Azure 云服务和 Amazon Cloudfront 互操作性

标签 azure cdn amazon-cloudfront

据 Azure 支持人员告诉我,目前 Azure CDN 充其量是被弃用的,因为他们正在制定最终要推出的新服务的细节。出于这个原因,并且由于我正在构建的特定网站需要保护内容(需要付费),我需要在其他地方寻找 CDN,因为当前的 Azure 产品不提供这种可能性。

我正在考虑使用 Cloudfront,但我遇到的困境是在哪里存储我的文件。我似乎无法在网上找到任何有关 Azure 和 Cloudfront 之间的互操作性的信息(使用 Cloudfront 与 Azure Blob 存储,或使用 Azure Web Worker 和 S3/Cloudfront 进行文件存储和 CDN)。

有人对此有任何经验、提示、指示或陷阱吗?或者推荐我可以使用的另一种服务?

最佳答案

要将 CloudFront CDN 指向 Azure Blob 存储,您需要在 Azure 存储服务上设置托管自定义域,并将 CloudFront CDN 源域名指向此自定义域。

步骤:

  1. 为您的域创建一个 CNAME 条目以指向您的 Blob 存储(例如 CNAME blob.mydomain.com 到 myservice.blob.core.windows.net)

  2. 将托管自定义域添加到您的 Azure 存储帐户:blob.mydomain.com

  3. 使用源服务器 blob.mydomain.com 创建 CloudFront CDN 分配

  4. 使用您的 CloudFront CDN URL 访问您的资源,例如:http://acbdefgh.cloudfront.net/users/john

  5. 或者设置 CNAME 以指向您的 CloudFront CDN 域。例如,将 avatar.mydomain.com 更改为 acbdefgh.cloudfront.net,并使用 avatar.mydomain.com 更新您的 CloudFront 分配 CNAME

使缓存对象失效的能力是您可能希望在 Azure CDN 上使用 Amazon CloudFront CDN 的一个很好的例子。例如,使用上述步骤,您可以使用 CloudFront 来缓存偶尔需要失效的对象(例如个人资料图片 - avatar.mydomain.com),并使用 Azure CDN 来缓存两个子域都指向的其他所有内容 (blob.mydomain.com)到同一个 Azure Blob 存储帐户 myservice.blob.core.windows.net。

关于Azure 云服务和 Amazon Cloudfront 互操作性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23137290/

相关文章:

c# - 删除 Azure 表存储中的所有表

asp.net-mvc - 我无法将 insigths 遥测添加到新的 Asp .NET 框架项目中

apache - 在 Azure 虚拟机上托管网站

caching - 如何设置cdn?

css - Bootstrap : speed start and minimal setup

amazon-web-services - 具有 HTTPS 和仅限 VPN 访问的 AWS S3 静态站点

html - 在 Cloudfront 的页面上托管 Facebook iframe

c# - 不使用 KeyVault 的 Azure 表存储客户端加密

caching - 某些 Google CDN 资源的有效期很短

amazon-web-services - 从 http 重定向到 https 时,cloudfront 域被应用程序负载均衡器 dns 名称替换