我有几个API已经工作了一段时间。所有这些都使用API密钥进行保护。由于某种原因,他们所有人都停止了工作,并从cloudfront抛出了一个403,Error。它们都没有启用任何缓存机制。当我通过AWS控制台为这些API端点测试Lambda函数时,一切正常。在试图重新创建这个问题时,我将一个测试api端点指向了没有api键的lambda函数。这起到了作用。然后我将API密钥添加到API并重新部署它。有趣的是,我可以在不传递x-API-key头的情况下对它们进行Postman。对于此测试API终结点,Cache的响应为X-Cache→来自云海的小姐。
我原来的API/测试API的设置没有什么不同。这种行为是不一致的,没有它我的应用程序功能。
推出了一个更新,影响了少数使用API密钥的客户。不幸的是,你似乎是受影响的客户之一。我们相信我们已经纠正了这个问题,当使用有效的API密钥时,您不应该再看到来自API的403。
注意:您看到CloudFront头的原因是API网关为每个API创建了一个CloudFront分发。
只需重新生成密钥,它就会按预期工作。