我正在使用AWS codestar通过使用无服务器nodejs模板的react应用程序进行部署。这是在成功完成所有阶段https://xxxxx.execute-api.us-east-1.amazonaws.com/Prod之后由codestar给出的url。这个url正确地显示了我的应用程序中的所有组件。在我的应用程序的导航栏中,我有这样的项目:a、b、c。点击它们中的每一个都会重定向到一个新的组件。(例如,https://xxxxx.execute-api.us-east-1.amazonaws.com/a,https://xxxxx.execute-api.us-east-1.amazonaws.com/b等。但是当我刷新有像这样的https://xxxxx.execute-api.us-east-1.amazonaws.com/b的url的页面时,我得到了一个类似{"message":"Forbidden"}的错误,并且在我的控制台中它显示像这样的favicon.ico:1 GET https://xxxx.execute-api.us-east-1.amazonaws.com/favicon.ico 403
似乎chrome正在获取基于https链接的favicon,这是失败的,因为该位置没有这样的favicon。我试图删除index.html中的favicon.ico link,但即便如此,chrome仍然使用相同的url来获取index.html图标,但最终还是失败了。我在中遵循了最大数量的建议,以获得这一点,但没有运气。有没有办法说api-gateway来排除这些favicon get requests并显示我的应用程序而不是显示message forbidden。
我非常确定我已经为agi-gateway和lambda启用了日志,我没有发现任何禁止的错误(即403 ),这很奇怪,因为我可以在我的控制台中看到这403个错误。
谢谢,我非常感谢您的帮助。
发布于 2018-09-29 10:03:10
API Gateway提供的https://xxxxx.execute-api.us-east-1.amazonaws.com/Prod url是您站点的基本url,因此这些路径必须是/Prod/a而不是/a。
解决这个问题的一种方法是注册您自己的域名,并通过custom domain将其连接到API Gateway。这将允许您使用https://example.com作为您的基本url,并且您的路径可以保持为/a、/b等。
https://stackoverflow.com/questions/52560454
复制相似问题