設定自訂標頭 - AWS Amplify 託管

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

設定自訂標頭

指定 Amplify 應用程式的自訂HTTP標頭有兩種方式。您可以在 Amplify 主控台中指定標頭,或者您可以透過下載和編輯應用程式customHttp.yml檔案並將其儲存在專案根目錄中來指定標頭。

設定應用程式的自訂標頭,並將其儲存在主控台中
  1. 登入 AWS Management Console 並開啟 Amplify 主控台

  2. 選擇要設定自訂標頭的應用程式。

  3. 在導覽窗格中,選擇託管 ,然後選擇自訂標頭

  4. 自訂標頭頁面上,選擇編輯

  5. 編輯自訂標頭視窗中,使用自訂標頭YAML格式 輸入自訂標頭的資訊。

    1. 對於 pattern,輸入要比對的模式。

    2. 對於 key,輸入自訂標頭的名稱。

    3. 對於 value,輸入自訂標頭的值。

  6. 選擇 Save (儲存)。

  7. 重新部署應用程式以套用新的自訂標頭。

    • 對於 CI/CD 應用程式,導覽至要部署的分支,然後選擇重新部署此版本 。您也可以從 Git 儲存庫執行新的建置。

    • 對於手動部署應用程式,請在 Amplify 主控台中再次部署應用程式。

設定應用程式的自訂標頭,並將其儲存在儲存庫根中
  1. 登入 AWS Management Console 並開啟 Amplify 主控台

  2. 選擇要設定自訂標頭的應用程式。

  3. 在導覽窗格中,選擇託管 ,然後選擇自訂標頭

  4. 自訂標頭頁面上,選擇下載 YML

  5. 在您選擇的程式碼編輯器中開啟下載customHttp.yml的檔案,並使用自訂標頭YAML格式 輸入自訂標頭的資訊。

    1. 對於 pattern,輸入要比對的模式。

    2. 對於 key,輸入自訂標頭的名稱。

    3. 對於 value,輸入自訂標頭的值。

  6. 將編輯customHttp.yml的檔案儲存在專案的根目錄中。如果您使用的是單儲存庫,請將customHttp.yml檔案儲存在儲存庫的根目錄。

  7. 重新部署應用程式以套用新的自訂標頭。

    • 對於 CI/CD 應用程式,請從包含新customHttp.yml檔案的 Git 儲存庫執行新建置。

    • 對於手動部署應用程式,請在 Amplify 主控台中再次部署應用程式,並將新customHttp.yml檔案包含您上傳的成品。

注意

customHttp.yml檔案中設定並在應用程式的根目錄中部署的自訂標頭會覆寫 Amplify 主控台中自訂標頭區段中定義的自訂標頭

安全性自訂標頭範例

自訂安全標頭可強制執行 HTTPS、防止XSS攻擊,以及保護瀏覽器免於點擊劫持。使用下列YAML語法將自訂安全標頭套用至您的應用程式。

customHeaders: - pattern: '**' headers: - key: 'Strict-Transport-Security' value: 'max-age=31536000; includeSubDomains' - key: 'X-Frame-Options' value: 'SAMEORIGIN' - key: 'X-XSS-Protection' value: '1; mode=block' - key: 'X-Content-Type-Options' value: 'nosniff' - key: 'Content-Security-Policy' value: "default-src 'self'"

設定 Cache-Control 自訂標頭

使用 Amplify 託管的應用程式會承兌原始伺服器傳送的Cache-Control標頭,除非您使用定義的自訂標頭來覆寫它們。Amplify 只會套用快取控制自訂標頭,以便成功回應200 OK狀態碼。這可防止錯誤回應快取並提供給提出相同請求的其他使用者。

您可以手動調整 s-maxage 指令,以對應用程式的效能和部署可用性有更多的控制權。例如,若要增加內容在邊緣保持快取的時間長度,您可以手動增加存留時間 (TTL),方法是將值更新s-maxage至超過預設的 600 秒 (10 分鐘)。

若要指定 的自訂值s-maxage,請使用下列YAML格式。此範例會將相關聯的內容快取在邊緣 3600 秒 (一小時)。

customHeaders: - pattern: '/img/*' headers: - key: 'Cache-Control' value: 's-maxage=3600'

如需使用標頭控制應用程式效能的詳細資訊,請參閱 使用 Cache-Control 標頭來提高應用程式效能