本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
对 Web 应用程序进行故障排除
注意
这些疑难解答提示适用于网络应用程序管理员,而不是最终用户。对于最终用户,如果您遇到任何问题,请联系您的 Web 应用程序管理员。以下段落中您的所有实例均指向 Web 应用程序管理员。
对网络错误进行故障排除
说明
您的最终用户在加载 Web 应用程序端点时会看到网络横幅网络错误。
原因
最常见的问题如下:
-
管理员未分配尝试登录新应用程序的用户。
-
管理员未向您的 IAM 角色添加必要的操作。
-
您会看到分配给您的用户的 S3 访问权限的列表,但是您的 Amazon S3 存储桶的 CORS 配置不正确。
解决方案
-
在 IAM Identity Center 中,确保将用户分配到正确的应用程序。或者,如果您分配了群组,请确保尝试登录的用户属于正确的群组。向 Transfer Family 网络应用分配或添加用户或群组中对此进行了描述。
-
在自定义信任策略中检查您的角色是否包含针对
sts:AssumeRole和sts:SetContext操作的必要操作。为 Transfer Family 网络应用程序配置 IAM 角色中对此进行了描述。 -
请查看 CORS 政策,了解您的 Web 应用程序使用的所有存储桶。为您的 Amazon S3 存储桶设置跨源资源共享 (CORS) 中对此进行了介绍。
对配置的存储桶未显示进行故障排除
说明
所有内容似乎都配置正确,但是 Amazon S3 存储桶未出现在网络应用程序中。
原因
一个可能的原因是 Amazon S3 存储桶与网络应用程序不在同一个账户中。
解决方案
确保 Amazon S3 存储桶与网络应用程序位于同一个账户中。目前不支持跨账户存储桶。
排查自定义 URL 错误
说明
当您的最终用户登录 Web 应用程序时,他们会收到错误消息 “授权失败:缺少授权码”。
原因
如果您 CloudFront 直接使用而不是提供的 Amazon CloudFormation 模板,则可能错误地将原始请求策略配置为不转发查询字符串。
解决方案
更新您的源站请求政策,将查询字符串和 Cookie 转发到源。
说明
当您的最终用户尝试访问 Transfer Family 网络应用程序时,他们会收到 404 响应。
原因
如果您 CloudFront 直接使用而不是提供的 Amazon 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值必须相同。