2017-10-08 134 views
3

我有一个服务,有几个原始服务器,每个服务器在不同的大陆。每个客户端请求都通过代理这些服务器的cdn。大约一半的请求可缓存,另一半则不可缓存。无论哪个起源为可缓存响应提供服务都没关系,因为分布式CDN将处理从最近可能的POP处为那些未来请求(直到缓存过期)提供该响应。但是,对于不可缓存的响应,我希望用户最接近的来源来响应CDN代理的请求。cdn:基于IP地理位置的特定来源的代理请求

是否有这样的功能,一些CDN的有,让你可以指定这样的:“让地理编码基于IP的要求尽最大努力,如果IP是从大陆北美使用noram.originfoo.com,如果IP是来自大陆欧洲使用eu.originfoo.com等“?

也许体系结构应该改为DNS解析选择基于客户端IP的CDN主机名,并且CDN具有不同的条目,其中一个区域特定CDN主机名映射到一个原始主机名。

回答

2

看一看fastly CDN解决方案。它使用varnish并允许客户使用vcl规则(请参阅他们的docs)。 这里,似乎是做你需要什么guide

快速度允许您根据用户的地理位置改变原始服务器。当您需要为处于不同位置的用户提供不同内容时,这非常有用。例如,您可以更改原始服务器以向不同国家/地区的用户提供您网站的受限版本。

1

您可以使用现有的服务,当然,AWS确实可以做到这一点。但是如果你想自己实现这一点,你基本上需要通过他们的IP来找到调用者的位置,并根据这些信息将URL发送到最近的位置。

+0

您能否提供更多关于如何在AWS中完成的细节? – ffeast

+0

最简单的方法是使用AWS CloudFront,它们已经为您开箱即用。 –

+0

您是否可以共享文档的链接来描述CloudFront将选择距离用户ip最近的自定义起源?谢谢 – ffeast