Amazon-Ec2
使用 AWS S3 和 EC2 的混合靜態和動態內容站點
我們正在執行 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 不會為您購買任何東西,並且重定向會為每個請求增加額外的延遲。