簡體   English   中英

如何使用Apache在EC2服務器上托管網站,但在同一子域下的S3上托管映像?

[英]How can I host my website on an EC2 Server using Apache but host my images on S3 under the same sub domain?

因此,我將網站托管在運行apache的EC2服務器上。 一切正常。

我遇到的問題是我希望將圖像托管在S3上(並且可能緩存在CloudFront上),而不是在EC2服務器上,但是希望兩者都可以在同一域/子域下訪問。

例如,說我的網站是www.helloworld.com 我希望可以在www.helloworld.com/images/foobar.png上訪問我的圖像。 我希望將foobar.png托管在S3上,而不是每個EC2服務器上。 我該怎么做呢?

我可以在AWS控制台中進行配置嗎?還是可以在Apache中使用任何重寫規則? 我知道我總是可以設置一個控制器來從S3下載圖像並將其轉發給用戶,但這對我來說似乎是錯誤的。

為此,您需要在前面放置一個負載平衡器/代理以攔截所有請求並進行相應調度。 無論如何(出於可用性的原因)這可能不是一個壞主意,但是為圖像使用單獨的主機名也不應該成為問題(這不像用戶必須查看或鍵入這些URL)。

使用CloudFront,您可以讓CloudFront接收初始請求,然后根據路徑將請求轉發到EC2實例或S3存儲桶。

例如,您可以設置以下內容:

  • /images/下的路徑上將使用S3起源的CloudFront行為,並且
  • 默認設置(對於其他所有設置)將進入您的EC2實例來源。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM