我想要使用 Amazon Simple Storage Service (Amazon S3) 和 Amazon Route 53 將流量從我的 Apex 網域重新導向到其子網域或其他網域。
解決方法
先決條件:
- 確認您在 Route 53 中的 Apex 網域擁有託管區域。
- 確認您是否有權在 Apex 網域的託管區域中建立記錄,以及建立 Amazon S3 儲存貯體。
- 確定不存在與您 Apex 網域同名的 Amazon S3 儲存貯體。
建立 S3 儲存貯體來重新導向您的網域
**注意:**Amazon S3 網站端點不支援 HTTPS。若要重新導向 HTTP 和 HTTPS 請求,請使用其他方法,例如具有邊緣功能的 Application Load Balancer 或 Amazon CloudFront。如需詳細資訊,請參閱如何在 CloudFront 中重新導向網域?和如何使用 Application Load Balancer 將一個網域重新導向到另一個網域?
請完成下列步驟:
- 在 Amazon S3 主控台中,使用與您的 Apex 網域完全相同的名稱建立 Amazon S3 儲存貯體。
- 選取您建立的儲存貯體,然後選擇 Properties (屬性)。
- 在靜態網站託管下,選擇編輯。
- 選擇重新導向物件的請求。
- 在 Host name (主機名稱) 中,輸入您要重新導向的網站。
- 在 Protocol (通訊協定) 中,為重新導向請求選擇 HTTP 或 HTTPS。
注意:如果您未指定協定,預設選項為無。
- 選擇 Save changes (儲存變更)。
建立別名記錄以指向 S3 儲存貯體
請完成下列步驟:
- 在 Route 53 主控台中,選取您 Apex 網域的託管區域。
- 使用下列值為所選託管區域中的 Apex 網域建立 A 別名記錄:
在 Record name (記錄名稱),將此欄位留空。
在 Record Type (記錄類型),選擇 A – IPv4 address (A - IPv4 位址)。
在 Route traffic to (將流量路由到),選擇 Alias to Amazon S3 website endpoint (別名為 Amazon S3 網站端點)。
在 Region (區域),選擇您 Amazon S3 儲存貯體所在的 AWS 區域。
在 Enter Amazon S3 Endpoint (輸入 Amazon S3 端點) 中,從下拉式清單中選取您建立的 Amazon S3 儲存貯體。確定 Amazon S3 儲存貯體名稱與您 Apex 網域的託管區域名稱完全相符。
在 Routing policy (路由政策),選擇 Simple (簡單)。
在 Evaluate Health Target (評估運作狀態目標),選擇 No (否)。
- 選擇 Create Records (建立記錄)。
確認重新導向
若要確認重新導向,請在瀏覽器中開啟您的 Apex 網域。或者,執行以下 curl 命令來檢查回應標頭:
curl -i -s example.com | grep -E "HTTP|Location"
Location: http://www.example.com/
輸出範例:
curl -i -s example.com | grep -E "HTTP|Location" HTTP/1.1 301 Moved Permanently
Location: http://www.example.com/
**注意:**成功重新導向將會傳回 HTTP 301 狀態碼。
相關資訊
將儲存貯體網站端點的請求重新導向至另一個儲存貯體或網域