2014-04-19 39 views
1

我有一個主要是靜態網站。幾乎一切都指向靜態內容包括根URL,除了兩次調用API,所以它看起來是這樣的亞馬遜路線53,一些網站到S3和其他EC2實例

www.example.com < - S3上的靜態內容

www.example.com/ call_1 < - 呼籲對EC2實例的API,只有從JavaScript

www.example.com/call_2 <做---來電API,只有從JavaScript

www.example.com/* <做 - s3上的靜態內容

據我瞭解,我不能配置DNS路由取決於路徑嗎?我應該創建一個將呼叫重定向到EC2實例的子域:api.example.com?

在EC2實例上添加另一層的開銷以重定向請求似乎不是我的一個好選擇。所以如果我可以用子域做更好。

回答

2

根據定義,DNS是正確的,不允許您在路徑中進行路由 - DNS服務器從不會看到http請求的那部分內容。

子域絕對是一種可能性,但如果這些是ajax請求(與json-p相反),您將不得不閱讀CORS頭文件,它允許您指示瀏覽器允許哪些交叉源Ajax調用。

另一種可能性是將cloudfront用作最終用戶和內容之間的層。在cloudfront lingo中,您可以設置不同的行爲,將不同的路徑路由到不同的來源,其來源可以是s3桶,彈性負載均衡器或任意ip地址/主機。這也有一個好處,就是您的s3內容將被緩存到最終用戶附近。