因此,我之前使用過類似Route 53的內容。現在我有一個項目,其中將有一個網站通過靜態頁面提供,但使用Javascript來訪問API。靜態頁面存儲在緩存在雲端的S3中,API是與一些後端邏輯關聯的API網關。AWS將域名同時指向雲端和API
我該如何做到這一點,因此www.site.com指向雲端附加的S3實例,但www.site.com/api/重定向到我的api?這甚至有可能嗎?
因此,我之前使用過類似Route 53的內容。現在我有一個項目,其中將有一個網站通過靜態頁面提供,但使用Javascript來訪問API。靜態頁面存儲在緩存在雲端的S3中,API是與一些後端邏輯關聯的API網關。AWS將域名同時指向雲端和API
我該如何做到這一點,因此www.site.com指向雲端附加的S3實例,但www.site.com/api/重定向到我的api?這甚至有可能嗎?
如果使用api.site.com
或其他類似的子域而不是www.site.com/api
,則不需要在APIGW API處指向CF分佈。
APIGW已經被一個CF發行版所佔據;自定義域名功能允許您導入附加到現有CF分配的SSL證書。然後,APIGW提供CF分配的域名,以便您可以配置像api.site.com
這樣的子域記錄來指向它。
http://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-custom-domains.html
使用DNS無法做到這一點。
取而代之,您可以使用CloudFront同時支持:S3存儲桶和API。
/api
創建一個「行爲」,並讓它使用指向您的API的原點。是的,您可以在AWS中執行此操作。
創建CloudFront
分佈,將您的域名指向CloudFront
,並將其指定爲Route53
。
在新創建的分佈中,找到Origins
選項卡,選擇Create Origin
。添加一個路徑/api
,指向API網關/一個ELB /一個EC2。
然後創建另一個原點,添加路徑/cdn
,將其指向s3存儲桶。
嗨,謝謝你的回答。 我這樣做,但我有一個嚴重的問題。嘗試使用內容類型application/x-www-form-urlencoded將POST請求直接發送到api作品,但將cloudfront發佈指向api會讓我在嘗試使用它時無法滿足錯誤(例如: stuff.cloudfront.net/test - > unique_id.execute-api.ap-northeast-1.amazonaws.com/test,然後發佈stuff.cloudfront.net/test/email以獲取/ email api部分) – JapanRob