1

How can happen that with a Lambda/API Gateway combination, if no explicit Cloud Front configuration has been done, in an error response header they mention CloudFront?

header: x-amzn-ErrorType: ForbiddenException
header: x-amz-apigw-id: P3mmbT_DREF8bg=
header: X-Cache: Error from cloudfront

Actual problem: with a disabled API key, API keeps responding "forbidden".

UPDATE. As it seems the problem is not related to the Edge API/CloudFront, as the problem with disabled key persists also on changing API type to regional.

UPDATE. I can now disable API key checking as suggested by @Harish i.e. it's not about disabling the API key itself but telling the API whether it's required or not.

What is yet open though is why if created by Zappa, there is no option to change this setting in the UI, because there are not single methods.

zappa-methods

3
  • What response do you expect from the API when you call it with a disabled API key? – Harish KM Jul 18 '20 at 15:59
  • 1
    the client sends no key, the API has it disabled. So my expectation is that API accepts the call normally. – Peter Muryshkin Jul 18 '20 at 16:25
  • Use Zappa's api_key_required setting to enable/disable API key requirement for individual routes in your API. – Harish KM Jul 19 '20 at 14:51
2

When you deploy an edge-optimized API, API Gateway sets up an Amazon CloudFront distribution and a DNS record to map the API domain name to the CloudFront distribution domain name. Requests for the API are then routed to API Gateway through the mapped CloudFront distribution.

Source: API Gateway documentation — Edge-optimized custom domain names.


To allow calls to a method of a resource in your API without API key, set its API Key Required setting to false:

enter image description here

5
  • 1
    thank you @Harish KM! I've changed the API type to regional, but still the API remains closed. At least half of my question is now answered. :-) – Peter Muryshkin Jul 18 '20 at 14:32
  • @PeterMuryshkin I've updated the answer to show how to make the API accept a call without an API key. – Harish KM Jul 19 '20 at 6:53
  • 1
    thank you, Harish! Your hint has helped me in the right direction though I couldn't find the setting edit option in the UI, possibly with ANY selector it's different mode. – Peter Muryshkin Jul 19 '20 at 9:36
  • @PeterMuryshkin Click Method Request to get to the settings, as shown here. – Harish KM Jul 19 '20 at 11:04
  • 1
    I see now! thx. – Peter Muryshkin Jul 19 '20 at 13:01

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.