为 Azure 托管云服务正确设置 Azure CDN

Correctly setting up Azure CDN for Azure hosted cloudservice

我有一个带有 postgresql 后端的半流行 Django 网站,用户可以在其中彼此共享照片(每分钟大约共享 3 张)。

整个设置托管在两个单独的 Azure VM 上 - 一个用于 Web 应用程序,一个用于数据库。我使用经典 VM,它们都属于同一个资源组,并且也映射到同一个 DNS(即它们都位于 xyz.cloudapp.net 上)。我还为我的图像使用 Azure blob 存储(但不为 CSS 等其他静态文件使用)- 为此,我配置了一个存储帐户。

由于我严重依赖图像,并且我想加快向用户显示静态内容的速度,所以我想将 Azure CDN 纳入其中。我刚刚从门户中配置了一个,使其成为与我的经典 VM 相同的资源组的一部分。

接下来,我将尝试添加 CDN 端点。我在设置方面需要帮助:

1) CDN 是否可以与经典 VM 一起使用,还是仅用于资源管理器部署?

2) 鉴于 'yes' 上一个问题,当提供 CDN 终结点时,源类型应该是什么?它应该是我正在使用的云服务(即我的 VM 所在的云服务),还是应该是包含我所有图像的 azure 存储?其他未托管在 Azure blob 上的静态内容(例如 CSS)呢?

3) 可选原始路径的用途是什么?我应该指定目录吗?如果我不这样做会怎样?

4) 在成功配置 CDN 端点后,我会立即 运行 吗?还是在此之后还有更多配置?我不确定会发生什么,我不想中断我的实时服务


顺便说一句,通过 仍然没有全面回答我的问题。原因是:

1) 我不使用 azure web 应用程序,我已经配置了虚拟机并在 Ubuntu

上完成了自己的设置

2) 我不确定我是否应该为 CDN 创建一个新的存储帐户,如这个问题的答案中所讨论的那样。

3) 同样,不是 Web 应用程序,我是否应该将源类型映射到我的 blob 服务 URL?答案似乎是这样说的,但是,我确实可以选择使用我的云服务 DNS。每种情况下会发生什么?

听起来您有两个来源,一个存储帐户和一个虚拟机。 您需要在这里做的是创建两个 CDN 端点,一个用于存储帐户中的图片,一个用于 VM 上的css。

假设我使用存储帐户作为来源创建了 myendpoint1.azureedge.net, using the VM as an origin and I also created myendpoint2.azureedge.net

如果我访问myendpoint1.azureedge.net/Content/css/bootstrap.css, I should be able to get same content as xyz.cloudapp.net/Content/css/bootstrap.css

如果我访问myendpoint2.azureedge.net/myPictureContainer/pic.jpg, I should be able to get same content as mystorageaccount.blob.core.net/myPictureContainer/pic.jpg

完成所有验证后,您需要更改 html 文件以引用 myendpoint1.azureedge.net and reference the pictures from myendpoint2.azureedge.net 中的 css,然后部署您的网站。不会有服务中断。

此外,CDN 可用于任何类型的来源,因此适用于经典 VM。它们的原点类型无关紧要,如果您的 VM/storage 的 url 不在任何下拉列表中,则只需使用自定义原点并使用正确的 url。