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
질문됨 2년 전422회 조회
1개 답변
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
답변함 2년 전
  • 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.

로그인하지 않았습니다. 로그인해야 답변을 게시할 수 있습니다.

좋은 답변은 질문에 명확하게 답하고 건설적인 피드백을 제공하며 질문자의 전문적인 성장을 장려합니다.

질문 답변하기에 대한 가이드라인

관련 콘텐츠