据 Azure 支持人员告诉我,目前 Azure CDN 充其量是被弃用的,因为他们正在制定最终要推出的新服务的细节。出于这个原因,并且由于我正在构建的特定网站需要保护内容(需要付费),我需要在其他地方寻找 CDN,因为当前的 Azure 产品不提供这种可能性。
我正在考虑使用 Cloudfront,但我遇到的困境是在哪里存储我的文件。我似乎无法在网上找到任何有关 Azure 和 Cloudfront 之间的互操作性的信息(使用 Cloudfront 与 Azure Blob 存储,或使用 Azure Web Worker 和 S3/Cloudfront 进行文件存储和 CDN)。
有人对此有任何经验、提示、指示或陷阱吗?或者推荐我可以使用的另一种服务?
最佳答案
要将 CloudFront CDN 指向 Azure Blob 存储,您需要在 Azure 存储服务上设置托管自定义域,并将 CloudFront CDN 源域名指向此自定义域。
步骤:
为您的域创建一个 CNAME 条目以指向您的 Blob 存储(例如 CNAME blob.mydomain.com 到 myservice.blob.core.windows.net)
将托管自定义域添加到您的 Azure 存储帐户:blob.mydomain.com
使用源服务器 blob.mydomain.com 创建 CloudFront CDN 分配
使用您的 CloudFront CDN URL 访问您的资源,例如:http://acbdefgh.cloudfront.net/users/john
或者设置 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/