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