設定自訂錯誤文件 - Amazon Simple Storage Service

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

設定自訂錯誤文件

將儲存貯體配置為靜態網站後,若發生錯誤,則 Amazon S3 會傳回 HTML 錯誤文件。您可以選擇使用自訂錯誤文件來配置您的儲存貯體,使 Amazon S3 在發生錯誤時傳回該文件。

注意

有一些瀏覽器會在錯誤發生時顯示自有的錯誤訊息,並忽略 Amazon S3 傳回的錯誤文件。例如當發生 HTTP 404 Not Found (HTTP 404 找不到) 錯誤時,Google Chrome 可能會忽略 Amazon S3 傳回的錯誤文件,而只顯示自己的錯誤。

Amazon S3 HTTP 回應代碼

下表列出發生錯誤時,Amazon S3 傳回之 HTTP 回應碼中的一部分。

HTTP 錯誤代碼 描述
301 Moved Permanently (301 永久移除) 當使用者直接向 Amazon S3 網站端點 (http://s3-website.Region.amazonaws.com/) 傳送請求時,Amazon S3 會傳回 301 永久移除回應,並將這些請求重新導向至 https://aws.amazon.com/s3/
302 Found (302 已找到)

當 Amazon S3 收到金鑰 xhttp://bucket-name.s3-website.Region.amazonaws.com/x (結尾不含斜線) 的請求時,會先尋找有金鑰名稱為 x 的物件。若找不到該物件,Amazon S3 會判定此請求乃針對子資料夾 x,並在結尾處新增斜線重新導向請求,然後傳回 302 已找到

304 Not Modified (304 未修改)

Amazon S3 使用請求標頭 If-Modified-SinceIf-Unmodified-SinceIf-Match 及 (或) If-None-Match 來確定請求的物件與用戶端持有的快取複本是否相同。若物件相同,網站端點會傳回 304 Not Modified (304 未修改) 回應。

400 Malformed Request (400 請求格式不正確)

當使用者嘗試透過不正確的區域端點存取儲存貯體時,網站端點會以 400 Malformed Request (請求格式不正確) 回應。

403 Forbidden (403 禁止)

當使用者請求轉譯成不可公開讀取的物件時,網站端點會以 403 Forbidden (403 禁止) 回應。物件擁有者必須使用儲存貯體政策或物件 ACL,將物件設為可供大眾讀取。

404 Not Found (404 找不到)

網站端點在下列幾種情況會以 404 Not Found (404 找不到) 回應:

  • Amazon S3 判斷網站 URL 所參考的物件金鑰不存在。

  • Amazon S3 推斷所請求的索引文件不存在。

  • URL 中指定的儲存貯體不存在。

  • URL 中指定的儲存貯體存在,但未設定成網站。

您可以建立自訂文件,供傳回 404 Not Found (404 找不到) 時使用。請務必將文件上傳到已設定為網站的儲存貯體,並將網站託管組態設為使用該文件。

如需 Amazon S3 如何將 URL 解譯成物件或索引文件請求的資訊,請參閱 設定索引文件

500 Service Error (500 服務錯誤)

當發生內部伺服器錯誤時,網站端點會以 500 Service Error (500 服務錯誤) 回應。

503 Service Unavailable (503 服務無法使用)

當 Amazon S3 認為您需要降低請求率時,網站端點會回應 503 服務無法使用

對於這些錯誤,Amazon S3 一律會傳回預先定義的 HTML 訊息。以下範例是針對 403 Forbidden (403 禁止) 回應所傳回的範例 HTML 訊息。

403 Forbidden (403 禁止錯誤) 訊息範例

設定自訂錯誤文件

將儲存貯體設定為靜態網站時,您可以提供自訂錯誤文件,其中包含易於使用的錯誤訊息和其他說明。只有 HTTP 4XX 類別的錯誤訊息,Amazon S3 才會傳回您自訂的錯誤文件。

若要使用 S3 主控台配置自訂錯誤文件,請依照下列步驟操作。您也可以使用 REST API、 AWS 軟體開發套件、或 AWS CloudFormation來設定錯誤文件。 AWS CLI如需詳細資訊,請參閱下列內容:

當您為儲存貯體啟用靜態網站託管時,請輸入錯誤文件的名稱 (例如 404.html)。為儲存貯體啟用靜態網站託管後,您可以將含有錯誤引文件名稱的 HTML 檔案上傳到儲存貯體。

設定錯誤文件
  1. 建立錯誤文件,例如 404.html

  2. 將錯誤文件檔案儲存在本機。

    錯誤文件名稱區分大小寫,且須完全符合您在啟用靜態網站託管時所輸入的名稱。例如,如果您在 Static website hosting (靜態網站託管) 對話方塊的 Error document (錯誤文件) 名稱中輸入 404.html,您的錯誤文件檔案名稱也必須是 404.html

  3. 登入 AWS Management Console 並開啟 Amazon S3 主控台,網址為 https://console.aws.amazon.com/s3/

  4. Buckets (儲存貯體) 清單中,選擇您要用於託管靜態網站的儲存貯體名稱。

  5. 為您的儲存貯體啟用靜態網站託管,並輸入錯誤文件的確切名稱 (例如 404.html)。如需詳細資訊,請參閱 啟用網站託管設定自訂錯誤文件

    啟用靜態網路託管之後,請繼續執行步驟 6。

  6. 若要將錯誤文件上傳至您的儲存貯體,請執行下列其中一項:

    • 將錯誤文件檔案拖放至主控台儲存貯體清單中。

    • 選擇 Upload (上傳),然後依照提示選擇並上傳索引檔案。

    如需 step-by-step 指示,請參閱上傳物件