Amazon web services 通过API网关调用Lambda,给出403响应?

Amazon web services 通过API网关调用Lambda,给出403响应?,amazon-web-services,aws-api-gateway,api-gateway,aws-codestar,Amazon Web Services,Aws Api Gateway,Api Gateway,Aws Codestar,我使用AWS codestar通过react应用程序使用无服务器nodejs模板进行部署。这是codestar在成功完成所有阶段后给出的urlhttps://xxxxx.execute-api.us-east-1.amazonaws.com/Prod。此url正确显示了我的应用程序中的所有组件。在我的应用程序的导航栏中,我有如下项目a,b,c。单击其中的每一个将重定向到一个新组件。(即https://xxxxx.execute-api.us-east-1.amazonaws.com/a,http

我使用AWS codestar通过react应用程序使用无服务器nodejs模板进行部署。这是codestar在成功完成所有阶段后给出的url
https://xxxxx.execute-api.us-east-1.amazonaws.com/Prod
。此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
我收到一个类似于
{“消息”:“禁止”}
在我的控制台中,它显示如下
favicon.ico:1 GEThttps://xxxx.execute-api.us-east-1.amazonaws.com/favicon.ico 403

chrome似乎是基于
https
链接获取favicon的,该链接失败是因为该位置没有此类
favicon
。我试图删除index.html中的
favicon.ico链接,但即使如此,chrome还是使用相同的url获取favicon,最终失败。我遵循了最大数量的建议有没有办法说
api网关
来排除这些
favicon获取请求
并显示我的应用程序,而不是显示
禁止的消息

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

谢谢
非常感谢您的帮助。

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


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

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


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

谢谢@Tom。您的意思是因为这个,我收到了
{“消息”:“禁止”}
?这不是由于
favicon获取请求造成的吗
?您的favicon请求失败,因为
https://xxxxx.execute-api.us-east-1.amazonaws.com/favicon.ico
的url库错误。我认为浏览器会在
/favicon.ico
自动请求favicon,因此您可能无法更改到
/Prod/favi的路径con.ico
。是的,关于favicon的事情,你说的是完全正确的。在你的回答中,你说有一种方法是通过自定义域,因为我没有自定义域,因为它不是免费的。看起来浏览器请求
/favicon.ico
,而不查看页面的基本url,所以即使提供ag不会有帮助。所以我看不到解决favicon问题的其他方法。使用标签至少可以简化您的链接,这样您就不需要在所有人面前使用
/Prod
。感谢
标签。即使使用自定义域,一个问题仍然会读取相同的url,对吗?假设我有这样的自定义域<代码>https://www.example.com然后我将使用基本url(即
https://xxxxx.execute-api.us-east-1.amazonaws.com/Prod
).之后,我将像下面这样为自定义域分配路径
https://www.example.com/a
https://www.example.com/b
等。然后当我点击此
https://www.example.com/a
在浏览器内部,它指向
https://xxxxx.execute-api.us-east-1.amazonaws.com/Prod/a
只对吗?谢谢@Tom。你是说bec因此,我收到了
{“消息”:“禁止”}
?这不是由于
favicon获取请求造成的吗
?您的favicon请求失败,因为
https://xxxxx.execute-api.us-east-1.amazonaws.com/favicon.ico
的url库错误。我认为浏览器会在
/favicon.ico
自动请求favicon,因此您可能无法更改到
/Prod/favi的路径con.ico
。是的,关于favicon的事情,你说的是完全正确的。在你的回答中,你说有一种方法是通过自定义域,因为我没有自定义域,因为它不是免费的。看起来浏览器请求
/favicon.ico
,而不查看页面的基本url,所以即使提供ag不会有帮助。所以我看不到解决favicon问题的其他方法。使用标签至少可以简化您的链接,这样您就不需要在所有人面前使用
/Prod
。感谢
标签。即使使用自定义域,一个问题仍然会读取相同的url,对吗?假设我有这样的自定义域<代码>https://www.example.com然后我将使用基本url(即
https://xxxxx.execute-api.us-east-1.amazonaws.com/Prod
).之后,我将像下面这样为自定义域分配路径
https://www.example.com/a
https://www.example.com/b
等。然后当我点击此
https://www.example.com/a
在浏览器内部,它指向
https://xxxxx.execute-api.us-east-1.amazonaws.com/Prod/a
只对吗?