Amplify 访问控制问题:使用 CloudFront 设置 Amplify Serve 后无法登录

问题描述 投票:0回答:1

我在 AWS Amplify 上部署了一个 Web 应用程序,并使用 Amplify 的内置访问控制功能实现了密码保护。最初,一切都很顺利,我可以使用默认的 Amplify URL 登录并访问应用程序。

但是,当我使用自定义域名设置 CloudFront 来为应用程序提供服务时,出现了问题。现在,当我尝试使用自定义域登录并访问应用程序时,它会反复提示我输入用户名和密码。我确信我输入了正确的凭据。

该问题似乎特定于 CloudFront 的设置,因为身份验证使用默认的 Amplify URL 按预期工作。我正在寻求帮助来解决使用自定义域时的此访问控制问题。

amazon-web-services amazon-cloudfront aws-amplify
1个回答
0
投票

我已经找到了解决这个问题的方法。您需要在 CloudFront 中附加源请求策略,以转发查看器请求中除“Host”标头之外的所有标头。已经有一个托管策略具有此设置,称为“AllViewerExceptHostHeader”。

为此,请按照以下步骤操作:

  1. 选择您要编辑的 CloudFront 分配条目。

  2. 导航到“行为”选项卡,然后选择要附加源请求策略的条目(在我的例子中,这是默认条目)。

  3. 单击“编辑”并转到“缓存密钥和源请求”部分。

  4. 在“源请求策略”下,从下拉列表中选择“AllViewerExceptHostHeader”。

  5. 完成后,单击“保存更改”。

如果您找不到该政策,您可以创建自己的政策。只是为了确保 Origin 请求设置中的“标头”,选择“除所有查看器标头”并选择“主机”以排除

© www.soinside.com 2019 - 2024. All rights reserved.