Amazon-Ec2

使用 AWS S3 和 EC2 的混合靜態和動態內容站點

  • February 15, 2013

我們正在執行 Tomcat 的 EC2 中安裝 Java Web 應用程序。該應用程序為使用者圖片(靜態內容)使用文件夾-> www.example.com/PICTURES

我們使用 mod_jk 將 Tomcat 排除在服務路徑 /PICTURES 之外,因此服務它的是 Apache。

我們計劃將 /PICTURES 移動到 S3 並從我們的儲存桶中為它們提供服務。

在我們的程式碼中,我們使用短網址,例如,使用者圖片定義為:/PICTURES/1.jpg

我們希望將每個呼叫從*www.example.com/PICTURES/**重定向到我們的儲存桶 -> example.com.s3-website-us-east-1.amazonaws.com/PICTURES

我們一直在尋找最佳策略,但似乎不是一個統一的解決方案。

據我所知,我們應該使用:

a) mod_rewrite:為我們希望重定向到您的儲存桶的每個靜態內容創建正則表達式

b) 代理:作為 S3 的代理工作

還有其他解決方案嗎?優缺點都有什麼?

Camilo 創建或編輯您的 .htaccess 文件並添加以下行:

RewriteEngine On
RewriteRule ^/PROFILES/(.+) http://pictures.example.com/PROFILES/$1 [R,L]

做到這一點的最佳方法是對static.example.com指向 S3 或 CloudFront 的靜態內容(例如 )使用不同的域。代理到 S3 不會為您購買任何東西,並且重定向會為每個請求增加額外的延遲。

引用自:https://serverfault.com/questions/478954