0

我正在使用 AWS codestar 使用无服务器 nodejs 模板通过反应应用程序进行部署。这是codestar在成功完成所有阶段后给出的url https://xxxxx.execute-api.us-east-1.amazonaws.com/Prod。此网址正确显示了我的应用程序中的所有组件。在我的应用程序的导航栏中,我有这样的a项目b,,,c。单击它们中的每一个将重定向到一个新组件。(即https://xxxxx.execute-api.us-east-1.amazonaws.com/ahttps://xxxxx.execute-api.us-east-1.amazonaws.com/b等等。但是当我刷新具有这样的 url 的页面时,https://xxxxx.execute-api.us-east-1.amazonaws.com/b我收到一个错误{"message":"Forbidden"},例如在我的控制台中它显示如下favicon.ico:1 GET https://xxxx.execute-api.us-east-1.amazonaws.com/favicon.ico 403

似乎 chrome 正在根据链接获取 favicon https,但由于该位置没有这样的链接而失败favicon。我试图favicon.ico link在 index.html 中删除,但即便如此,chrome 仍在使用相同的 url 来获取最终失败的 favicon。我遵循了 SO 中的最大建议数来实现这一点,但没有运气。有什么办法可以api-gateway排除这些favicon get requests并显示我的应用程序而不是显示message forbidden.

而且我很确定我已经为 agi-gateway 和 lambda 启用了日志,我没有发现任何被禁止的错误(ie403),这很奇怪,因为我可以在控制台中看到那些 403 错误。

谢谢任何帮助都非常感谢。

4

1 回答 1

2

API Gateway 提供的https://xxxxx.execute-api.us-east-1.amazonaws.com/Produrl 是您站点的基本 url,因此这些路径必须是/Prod/a而不是/a.

解决此问题的一种方法是注册您自己的域并通过自定义域将其连接到 API Gateway 。这将允许您将其https://example.com作为您的基本 url,并且您的路径可以保留/a,/b等。

于 2018-09-29T02:03:09.760 回答