2017-10-08 85 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