我正在使用 Amazon S3 儲存貯體託管靜態網站。為什麼儲存貯體傳回物件清單,而非網站的索引頁面?

1 分的閱讀內容
0

我正在使用 Amazon Simple Storage Service (Amazon S3) 儲存貯體來託管靜態網站。我向儲存貯體傳送請求時,會看到 XML 物件清單,而不是我為網站設定的索引頁面。

簡短描述

Amazon S3 儲存貯體同時具有網站端點和 REST API 端點。網站端點使用以下格式:

bucket-name.s3-website-us-west-2.amazonaws.com

REST API 端點使用以下格式:

bucket-name.s3-us-west-2.amazonaws.com

如果將 GET 請求傳送到儲存貯體,則必須將請求傳送到網站端點,以便 Amazon S3 傳回索引頁面 (在 Amazon S3 主控台中稱為「索引文件」)。如果將 GET 請求傳送到 REST API 端點,Amazon S3 會傳回儲存貯體中的物件清單

如果將 Amazon CloudFront 分佈與 Amazon S3 來源搭配使用,還必須將索引頁面設定為預設根物件,以確保 Amazon S3 傳回索引頁面。

**重要:**端點會因 AWS 區域而異。如需依區域顯示網站端點,請參閱 Amazon S3 網站端點。如需依區域顯示 REST API 端點,請參閱 Amazon S3 端點

解決方法

請遵循以下步驟找出您儲存貯體的網站端點:

  1. 開啟 Amazon S3 主控台
  2. 從儲存貯體清單中,選擇您用來託管靜態網站的儲存貯體。
  3. 選擇屬性視圖,然後選擇靜態網站託管
    網站端點是列為端點的值。

如果您使用 CloudFront 分佈搭配 Amazon S3 來源,請按照下列步驟操作,將您的分佈預設根物件設定為索引頁面:

  1. 開啟 CloudFront 主控台
  2. 從分佈清單中選擇與 S3 儲存貯體關聯的分佈。
  3. 從**「一般」視圖中,選擇編輯**。
  4. 預設根物件輸入索引頁面的物件名稱 (例如 "index.html")。
  5. 選擇是,編輯

相關資訊

網站端點與 REST API 端點之間的主要差異

AWS 官方
AWS 官方已更新 5 年前