正确设置Azure CDN for Azure托管的云服务

时间:2016-06-28 05:18:14

标签: django postgresql azure azure-storage-blobs azure-cdn

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

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

由于我非常依赖图像,并且我希望加快向用户显示静态内容的速度,因此我想让Azure CDN融入其中。我刚从门户中配置了一个,使其成为与我的经典虚拟机相同的资源组的一部分。

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

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

2)鉴于'是'到前一个,当一个人提供CDN端点时,原始类型应该是什么?它应该是我使用的云服务(即我的虚拟机落在其下),还是它应该是存放我所有图像的天蓝色存储?那些不在Azure blob上托管的静态内容(例如CSS)怎么样?

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

4)成功配置CDN端点后,我能立即启动并运行吗?或者在此之后还有更多配置?我不确定会发生什么,我不想破坏我的实时服务

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

1)我没有使用天蓝色的网络应用程序,我配置了虚拟机并在Ubuntu上完成了我自己的设置

2)我不确定是否应该为CDN创建一个新的存储帐户,正如本问题的答案所述。

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

1 个答案:

答案 0 :(得分:0)

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

假设我创建myendpoint1.azureedge.net,使用VM作为原点,我还使用存储帐户作为原点创建了myendpoint2.azureedge.net

如果我访问myendpoint1.azureedge.net/Content/css/bootstrap.css,我应该可以获得与xyz.cloudapp.net/Content/css/bootstrap.css相同的内容

如果我访问myendpoint2.azureedge.net/myPictureContainer/pic.jpg,我应该可以获得与mystorageaccount.blob.core.net/myPictureContainer/pic.jpg相同的内容

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

此外,CDN可以用于任何类型的起源,对于Classic VM也是如此。它们的原点类型无关紧要,如果您的VM /存储的url不在任何下拉列表中,那么只需使用自定义源并使用正确的URL。