本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
对 Web 应用程序进行故障排除
注意
这些疑难解答提示适用于网络应用程序管理员,而不是最终用户。对于最终用户,如果您遇到任何问题,请联系您的 Web 应用程序管理员。以下段落中您的所有实例均指向 Web 应用程序管理员。
解决网络错误
描述
您的最终用户在加载 Web 应用程序端点时会看到网络横幅网络错误。
原因
最常见的问题如下:
-
管理员未分配尝试登录新应用程序的用户。
-
管理员未向您的 IAM 角色添加必要的操作。
-
您会看到分配给您的用户的 S3 访问权限列表,但是您的 Amazon S3 存储桶的 CORS 配置不正确。
解决方案
-
在 IAM Identity Center 中,确保将用户分配到正确的应用程序。或者,如果您分配了群组,请确保尝试登录的用户属于正确的群组。在 Transfer Family 网络应用中分配或添加用户或群组中对此进行了描述。
-
检查您的角色是否包含针对
sts:AssumeRole和操作的自定义信任策略中的必要sts:SetContext操作。为 Transfer Family 网络应用程序配置 IAM 角色中对此进行了描述。 -
查看您的 Web 应用程序使用的所有存储分区的 CORS 政策。为您的 Amazon S3 存储桶设置 Cross-origin 资源共享 (CORS) 中对此进行了介绍。
对配置的存储桶未显示进行故障排除
描述
一切似乎都配置正确,但是 Amazon S3 存储桶未出现在网络应用程序中。
原因
一个可能的原因是 Amazon S3 存储桶与网络应用程序不在同一个账户中。
解决方案
确保 Amazon S3 存储桶与网络应用程序位于同一个账户中。 Cross-account目前不支持存储桶。
解决自定义 URL 错误
描述
当您的最终用户登录 Web 应用程序时,他们会收到错误消息 “授权失败:缺少授权码”。
原因
如果您 CloudFront 直接使用而不是提供的 CloudFormation 模板,则可能错误地将原始请求策略配置为不转发查询字符串。
解决方案
更新您的源站请求政策,将查询字符串和 Cookie 转发到源。
描述
当您的最终用户尝试访问 Transfer Family 网络应用程序时,他们会收到 404 响应。
原因
如果您 CloudFront 直接使用而不是提供的 CloudFormation 模板,则可能错误地将缓存策略配置为在缓存密钥中包含Host标头,或者错误配置了原始请求策略以转发标头。Host
解决方案
-
确保您的缓存策略不在缓存密钥中包含
Host标头 -
请确保您的原始请求策略不会转发标
Host头。
对其他错误进行故障排除
描述
您的最终用户无法登录,或者无法查看任何存储桶或文件,或者您会收到其他错误。
原因
一个可能的原因是,IAM 身份中心实例 ARN 与您的授权 ARN 或您的网络应用程序 IAM 身份中心实例 ARN 的值不匹配。
解决方案
检查以下项目以查看它们是否匹配。
-
在 IAM 身份中心中,导航到设置并查看实例 ARN。
arn:aws:sso:::instance/ssoins-instance-identifier -
在 Amazon S3 中,导航到 “访问授权”,然后查看您的 IAM 身份中心实例 AR N。
arn:aws:sso::account-id:application/ssoins-instance-identifier/apl-1234567890abcdef0 -
在 Transfer Family 中,导航到您的网络应用程序详情页面并查看其实例 ARN。
arn:aws:sso:::instance/ssoins-instance-identifier
这三个位置的instance-identifier值必须相同。
Web 应用程序中出现重复的 S3 存储桶
描述
用户可以在 Transfer Family 网络应用程序界面中多次看到相同的 S3 存储分区。
原因
当用户属于多个 Active Directory 群组,这些群组对同一 S3 存储桶有重复的授权时,就会发生这种情况。无论用户是否向同一个存储桶位置分配了多个授权,Web 应用程序都会列出与该用户关联的所有顶级授权(UID 或 GID)。
解决方案
要解决此问题,管理员应删除重复的授权,以便每个用户对每个 S3 位置只有一个授权。查看您的 S3 访问权限授权配置,并整合不同的 Active Directory 组中同一存储桶的重复授权。