

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

# 對 Web 應用程式進行故障診斷
<a name="webapp-troubleshooting"></a>

**注意**  
這些疑難排解秘訣適用於 Web 應用程式管理員，而非最終使用者。對於最終使用者，如果您遇到任何問題，請聯絡您的 Web 應用程式管理員。以下段落**中的所有執行個體都是指 Web 應用程式管理員。

## 故障診斷網路錯誤
<a name="webapp-network-error"></a>

**Description**

您的最終使用者在載入 Web 應用程式端點時看到網路橫幅**網路錯誤**。

**原因**

最常見的問題如下：
+ 管理員未指派嘗試登入新應用程式的使用者。
+ 管理員未將必要的動作新增至您的 IAM 角色。
+ 您會看到指派給使用者的 S3 Access Grants 清單，但 Amazon S3 儲存貯體或儲存貯體的 CORS 未正確設定。

 **解決方案** 
+  在 IAM Identity Center 中，請務必將使用者指派給正確的應用程式。或者，如果您已指派群組，請確定嘗試登入的使用者屬於正確的群組。如[將使用者或群組指派或新增至 Transfer Family Web 應用程式](webapp-add-users.md)中所述。
+ 檢查您的角色是否同時包含 `sts:AssumeRole`和 動作的**自訂信任政策**中的必要`sts:SetContext`動作。如[設定 Transfer Family Web 應用程式的 IAM 角色](webapp-roles.md)中所述。
+ 檢查您的 Web 應用程式使用的所有儲存貯體的 CORS 政策。這會在[為您的 Amazon S3 儲存貯體設定跨來源資源共用 (CORS) ](access-grant-cors.md#cors-configure)中說明。

## 對未顯示的已設定儲存貯體進行故障診斷
<a name="webapp-no-bucket"></a>

**Description**

一切似乎都已正確設定，但 Amazon S3 儲存貯體未出現在 Web 應用程式中。

**原因**

一個可能的原因是 Amazon S3 儲存貯體與 Web 應用程式不在同一個帳戶中。

 **解決方案** 

確定 Amazon S3 儲存貯體與 Web 應用程式位於相同的帳戶中。目前不支援跨帳戶儲存貯體。

## 對自訂 URL 錯誤進行故障診斷
<a name="webapp-customURL-errors"></a>

**Description**

當您的最終使用者登入 Web 應用程式時，會收到錯誤訊息**授權失敗：缺少授權碼。**

**原因**

如果您直接使用 CloudFront，而不是提供的 CloudFormation 範本，則可能已將原始伺服器請求政策設定為不轉送查詢字串。

**解決方案**

更新您的原始伺服器請求政策，將查詢字串和 Cookie 轉送至原始伺服器。

**Description**

當您的最終使用者嘗試存取 Transfer Family Web 應用程式時，會收到 404 回應。

**原因**

如果您直接使用 CloudFront，而不是提供的 CloudFormation 範本，則可能已將快取政策錯誤地設定為在快取金鑰中包含 `Host`標頭，或將原始伺服器請求政策錯誤地設定為轉送 `Host`標頭。

**解決方案**
+ 請確定您的快取政策不包含快取金鑰中的 `Host`標頭
+ 請確定您的原始伺服器請求政策不會轉送 `Host`標頭。

## 對其他錯誤進行故障診斷
<a name="webapp-various-errors"></a>

**Description**

您的最終使用者無法登入，或無法檢視任何儲存貯體或檔案，或者您收到另一個錯誤。

**原因**

可能的原因之一是 IAM Identity Center 執行個體 ARN 不符合授予 ARN 或 Web 應用程式 IAM Identity Center 執行個體 ARN 的值。

 **解決方案** 

檢查下列項目，以查看它們是否相符。
+  在 IAM Identity Center 中，導覽至**設定**並檢視**執行個體 ARN**。

  ```
  arn:aws:sso:::instance/ssoins-{{instance-identifier}}
  ```
+ 在 Amazon S3 中，導覽至**存取授權**並檢視您的 **IAM Identity Center 執行個體 ARN**。

  ```
  arn:aws:sso::{{account-id}}:application/ssoins-{{instance-identifier}}/apl-1234567890abcdef0
  ```
+ 在 Transfer Family 中，導覽至 Web 應用程式詳細資訊頁面，並檢視其執行個體 ARN。

  ```
  arn:aws:sso:::instance/ssoins-{{instance-identifier}}
  ```

所有三個位置的{{執行個體識別符}}值都必須相同。

## Web 應用程式中出現重複的 S3 儲存貯體
<a name="webapp-duplicate-buckets"></a>

**Description**

使用者會在 Transfer Family Web 應用程式界面中看到多次列出的相同 S3 儲存貯體。

**原因**

當使用者是具有相同 S3 儲存貯體重複授予的多個 Active Directory 群組的一部分時，就會發生這種情況。Web 應用程式會列出與使用者 (UID 或 GID) 相關聯的所有最上層授予，無論使用者是否將多個授予指派給相同的儲存貯體位置。

**解決方案**

若要解決此問題，管理員應該取消重複授予，讓每個使用者都只有一個授予給每個 S3 位置。檢閱 S3 Access Grants 組態，並合併不同 Active Directory 群組中相同儲存貯體的重複授權。