我想使用 Amazon Simple Storage Service (Amazon S3) 從根 (Apex) 網域 (例如 example.com) 將網際網路流量重新導向至子網域 (例如 www.example.com)。或者,我想使用 Amazon S3 將網際網路流量從 Apex 網域重新導向至另一個網域 (例如 example.net)。
解決方法
先決條件
- 您在 Amazon Route 53 中的 Apex 網域擁有託管區域。
- 您具有在 Apex 網域的託管區域中建立記錄的許可。
- 您具有建立 S3 儲存區的許可。
- 與您的 Apex 網域具有完全相同名稱的 S3 儲存貯體尚未存在。
**注意:**Amazon S3 網站端點不支援 HTTPS。因此,重新導向僅適用於 HTTP 請求。若要同時重新導向 HTTP 和 HTTPS 請求,請使用其他方法,例如使用 Application Load Balancer 重新導向請求,或使用 Amazon CloudFront。
依照下列程序使用 Amazon S3 重新導向您的網域。例如,若要將 Apex 網域 example.com 的請求重新導向至子網域 www.example.com,請執行下列步驟:
- 在 Amazon S3 主控台中,使用 Apex 網域的確切名稱建立 S3 儲存貯體。例如 example.com。
**注意:**S3 儲存貯體名稱是全球唯一的。如果您需要的儲存貯體名稱已在使用中,則無法使用 Amazon S3 進行重新導向。在這種情況下,請考慮其他方法,例如使用 Application Load Balancer 設定重新導向,或將 Amazon CloudFront 與邊緣功能搭配使用。
- 選取您建立的儲存貯體,然後選擇屬性。
- 在靜態網站託管下,選擇編輯。
- 選擇重新導向物件的請求。
- 在主機名稱中,輸入您要重新導向的網站。例如 www.example.com。
- 對於協定,為重新導向的請求選擇協定 (無、HTTP 或 HTTPS)。
注意:如果您未指定協定,預設選項為無。
- 選擇儲存變更。
- 在 Route 53 主控台中,選取 Apex 網域的託管區域。例如 example.com。
- 使用下列值為所選託管區域中的 Apex 網域建立 A 別名記錄:
記錄名稱: 將此欄位保留空白。
記錄類型: 選擇 A – IPv4 位址。
將流量路由至: 選擇 S3 網站端點的別名。
區域: 選擇 S3 儲存貯體所在的區域。
輸入 S3 端點: 從下拉式清單中選擇您建立的 S3 儲存貯體。例如 example.com。請確定 S3 儲存貯體名稱與 Apex 網域的託管區域名稱完全相符。
路由政策: 選擇簡單。
評估健康目標: 選擇否,然後選擇建立記錄。
若要驗證重新導向,請在瀏覽器中開啟您的 Apex 網域。或者,使用下列 curl 命令檢查回應的 HTTP 狀態代碼,以及回應中「位置」標頭的值。成功的重新導向會傳回 HTTP 301 永久移動狀態代碼,而「位置」標頭值具有您要重新導向的網域之 URL。
curl -i -s example.com | grep -E "HTTP|Location"
HTTP/1.1 301 Moved Permanently
Location: http://www.example.com/
相關資訊
如何在 Route 53 中將一個網域重新導向至另一個網域?
將儲存貯體網站端點的請求重新導向至另一個儲存貯體或網域