我有blob存储中的文件,我想托管。我希望最终用户转到某个路径,然后收到特定于其国家/地区的响应。
例如,我有文件: usa.js uk.js
我希望用户访问xxxx.edgesites.net,如果他们在美国,则会收到他们的usa.js,如果他们在英国,则会收到uk.js。
azure CDN的地理过滤功能看起来只允许或根据地理位置阻止访问。
还有另一种方法可以实现我的最终目标吗?也许CDN - >功能 - > blob?
答案 0 :(得分:1)
您实际上可以在Verizon Premium配置文件的Azure CDN中执行此操作。
Premium配置文件提供规则引擎 - 位置匹配条件,您可以将其与URL重写功能一起使用,以指向特定于区域设置的文件。
查看更多:https://docs.microsoft.com/en-us/azure/cdn/cdn-rules-engine-reference-match-conditions#Location
答案 1 :(得分:0)
Azure CDN不适用于此,因为它以一种可以节省Internet延迟以加快下载速度的方式缓存单个文件以进行全局分发。
要实现您要查找的内容,您可以使用Azure流量管理器。使用Performance算法创建Traffic Manager。然后指定指向Azure存储帐户的外部端点,并在美国区域中放置Azure存储帐户,在英国区域中存储存储帐户。但是,您需要使用相同的文件名命名文件。然后,当每个区域中的用户尝试下载文件时,他们将在因特网延迟方面被定向到最接近他们的Azure区域。
一旦您正确设置了Traffic Manager和存储帐户,请求就会像这样工作:
USA User -> hits domain.com -> directed to US region -> downloads file.js for US
UK User -> hits domain.com -> directed to UK region -> downloads file.js for UK
或者,您也可以使用流量管理器的地理路由算法将特定国家/地区的用户定向到特定终端。在您描述的场景中,这实际上可能对您更有效。
https://docs.microsoft.com/en-us/azure/traffic-manager/traffic-manager-routing-methods