Trying to enable CORS

0

I have:

  • A lambda function
  • API gateway pointing to it
  • This API gateway has a custom domain subdomain.mydomain.com, which is associated with <domain>.cloudfront.net

When I access the API gateway directly with its API id (<string>.execute-api.us-east-2.amazonaws.com/latest) CORS works as expected (I will get the access-control-allow-origin: * header).

However, if I access the API gateway with the custom domain (subdomain.mydomain.com), I will not get that header and CORS will not work. Instead I get some CloudFront errors:

x-amzn-errortype: ForbiddenException
x-cache: Error from cloudfront

If I go to AWS services/CloudFront, there is no distribution for this CloudFront domain at all. So I cannot edit any settings there, because it doesn't even exist. I don't think I can create it either, since it offers only S3 buckets as a source, when I try to create a distribution.

What to do? How to get CORS working?

Thank you.

ilkkah
demandé il y a 2 ans422 vues
1 réponse
0

It looks like x-amzn-errortype tells that request from CloudFront has not been authorized by API GW. You can configure CloudFront to convey API in the custom header sent to Origin (API GW in this case): https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/add-origin-custom-headers.html

AWS
répondu il y a 2 ans
  • Can you elaborate - should I configure API Gateway or CloudFront?

    One problem is that on CloudFront I don't have any "distribution". Everything seems to work without a distribution for me. And I'm not sure I can just create one either, everything has been working like that for quite a while already.

Vous n'êtes pas connecté. Se connecter pour publier une réponse.

Une bonne réponse répond clairement à la question, contient des commentaires constructifs et encourage le développement professionnel de la personne qui pose la question.

Instructions pour répondre aux questions