Cloudfront -> S3 -> API GatewayFont from origin has been blocked from loading by Cross-Origin Resource Sharing policyAWS API Gateway endpoint gives CORS error when POST from static site on S3API Gateway CORS: no 'Access-Control-Allow-Origin' headerForwarding CloudFront Host Header to API GatewayAWS API Gateway behind CloudFront, forwarding headers?Missing Authentication Token Error with CloudFront & API GatewayHow to secure AWS-API Gateway with out AuthenticationCloudFront + API Gateway Origin issuesCan't enable CORS on Lambda + API Gateway + Cloudfront on the Cloudfront layerXMLHttpRequest to API GATEWAY not working

Terse Method to Swap Lowest for Highest?

Does malloc reserve more space while allocating memory?

How could a planet have erratic days?

Can I say "fingers" when referring to toes?

Mimic lecturing on blackboard, facing audience

Why does the Sun have different day lengths, but not the gas giants?

Using substitution ciphers to generate new alphabets in a novel

Mixing PEX brands

Can disgust be a key component of horror?

creating a ":KeepCursor" command

What are the balance implications behind making invisible things auto-hide?

Probability that THHT occurs in a sequence of 10 coin tosses

Why would a new[] expression ever invoke a destructor?

Pre-mixing cryogenic fuels and using only one fuel tank

What is the evidence for the "tyranny of the majority problem" in a direct democracy context?

Does Doodling or Improvising on the Piano Have Any Benefits?

How to say when an application is taking the half of your screen on a computer

Hero deduces identity of a killer

Biological Blimps: Propulsion

Angel of Condemnation - Exile creature with second ability

Calculating total slots

Do the primes contain an infinite almost arithmetic progression?

Limits and Infinite Integration by Parts

When were female captains banned from Starfleet?



Cloudfront -> S3 -> API Gateway


Font from origin has been blocked from loading by Cross-Origin Resource Sharing policyAWS API Gateway endpoint gives CORS error when POST from static site on S3API Gateway CORS: no 'Access-Control-Allow-Origin' headerForwarding CloudFront Host Header to API GatewayAWS API Gateway behind CloudFront, forwarding headers?Missing Authentication Token Error with CloudFront & API GatewayHow to secure AWS-API Gateway with out AuthenticationCloudFront + API Gateway Origin issuesCan't enable CORS on Lambda + API Gateway + Cloudfront on the Cloudfront layerXMLHttpRequest to API GATEWAY not working













0















I've created a REST API that API Gateway will route to. Using Postman I can do a POST request to my API Gateway and everything works fine. I have a static Angular site hosted on S3 that has CloudFront in front of it. When trying to make that same POST request from Cloudfront to S3 I get the following:



Access to XMLHttpRequest at 'API Gateway URL' from origin 'Cloud Front URL' has been blocked by CORS policy: Request header field access-control-allow-origin is not allowed by Access-Control-Allow-Headers in preflight response.


I've enabled CORS in my API Gateway, I've added Whitelisting for ORIGIN in my Cloudfront. I've added CORS to my S3. I'm banging my head here trying to figure out where I'm going wrong.



S3 CORS Rules:



<?xml version="1.0" encoding="UTF-8"?>
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<CORSRule>
<AllowedOrigin>*</AllowedOrigin>
<AllowedMethod>GET</AllowedMethod>
<AllowedMethod>POST</AllowedMethod>
<AllowedMethod>PUT</AllowedMethod>
<AllowedMethod>DELETE</AllowedMethod>
<AllowedMethod>HEAD</AllowedMethod>
<MaxAgeSeconds>300</MaxAgeSeconds>
<AllowedHeader>*</AllowedHeader>
</CORSRule>
</CORSConfiguration>


Thank you for any help.










share|improve this question
























  • How do you enable CORS on S3? <CORSConfiguration> <CORSRule> <AllowedOrigin>*</AllowedOrigin> <AllowedMethod>*</AllowedMethod> </CORSRule> </CORSConfiguration>

    – anhlc
    Mar 8 at 2:03











  • @anhlc Please see edit.

    – mint
    Mar 8 at 2:10











  • seems you don't have issue with S3. What language do you use at the backend behind API gateway? For example nodejs will need to set all these headers: response.setHeader("Access-Control-Allow-Origin", "*"); response.setHeader("Access-Control-Allow-Credentials", "true"); response.setHeader("Access-Control-Allow-Methods", "GET,HEAD,OPTIONS,POST,PUT"); response.setHeader("Access-Control-Allow-Headers", "Access-Control-Allow-Headers, Origin,Accept, X-Requested-With, Content-Type, Access-Control-Request-Method, Access-Control-Request-Headers");

    – anhlc
    Mar 8 at 4:52











  • @anhlc I'm using a .Net Core Web API backend. The S3 Front End uses angular.

    – mint
    Mar 8 at 13:25






  • 3





    Read the error message carefully: "Request header field access-control-allow-origin is not allowed by Access-Control-Allow-Headers in preflight response." This indicates that your request is trying to send access-control-allow-origin, which does not make sense -- that is a response header, not a request header, and should not be sent with a request (nor proposed in pre-flight). Showing the front-end code that actually makes the POST request seems appropriate, here.

    – Michael - sqlbot
    Mar 8 at 21:22
















0















I've created a REST API that API Gateway will route to. Using Postman I can do a POST request to my API Gateway and everything works fine. I have a static Angular site hosted on S3 that has CloudFront in front of it. When trying to make that same POST request from Cloudfront to S3 I get the following:



Access to XMLHttpRequest at 'API Gateway URL' from origin 'Cloud Front URL' has been blocked by CORS policy: Request header field access-control-allow-origin is not allowed by Access-Control-Allow-Headers in preflight response.


I've enabled CORS in my API Gateway, I've added Whitelisting for ORIGIN in my Cloudfront. I've added CORS to my S3. I'm banging my head here trying to figure out where I'm going wrong.



S3 CORS Rules:



<?xml version="1.0" encoding="UTF-8"?>
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<CORSRule>
<AllowedOrigin>*</AllowedOrigin>
<AllowedMethod>GET</AllowedMethod>
<AllowedMethod>POST</AllowedMethod>
<AllowedMethod>PUT</AllowedMethod>
<AllowedMethod>DELETE</AllowedMethod>
<AllowedMethod>HEAD</AllowedMethod>
<MaxAgeSeconds>300</MaxAgeSeconds>
<AllowedHeader>*</AllowedHeader>
</CORSRule>
</CORSConfiguration>


Thank you for any help.










share|improve this question
























  • How do you enable CORS on S3? <CORSConfiguration> <CORSRule> <AllowedOrigin>*</AllowedOrigin> <AllowedMethod>*</AllowedMethod> </CORSRule> </CORSConfiguration>

    – anhlc
    Mar 8 at 2:03











  • @anhlc Please see edit.

    – mint
    Mar 8 at 2:10











  • seems you don't have issue with S3. What language do you use at the backend behind API gateway? For example nodejs will need to set all these headers: response.setHeader("Access-Control-Allow-Origin", "*"); response.setHeader("Access-Control-Allow-Credentials", "true"); response.setHeader("Access-Control-Allow-Methods", "GET,HEAD,OPTIONS,POST,PUT"); response.setHeader("Access-Control-Allow-Headers", "Access-Control-Allow-Headers, Origin,Accept, X-Requested-With, Content-Type, Access-Control-Request-Method, Access-Control-Request-Headers");

    – anhlc
    Mar 8 at 4:52











  • @anhlc I'm using a .Net Core Web API backend. The S3 Front End uses angular.

    – mint
    Mar 8 at 13:25






  • 3





    Read the error message carefully: "Request header field access-control-allow-origin is not allowed by Access-Control-Allow-Headers in preflight response." This indicates that your request is trying to send access-control-allow-origin, which does not make sense -- that is a response header, not a request header, and should not be sent with a request (nor proposed in pre-flight). Showing the front-end code that actually makes the POST request seems appropriate, here.

    – Michael - sqlbot
    Mar 8 at 21:22














0












0








0








I've created a REST API that API Gateway will route to. Using Postman I can do a POST request to my API Gateway and everything works fine. I have a static Angular site hosted on S3 that has CloudFront in front of it. When trying to make that same POST request from Cloudfront to S3 I get the following:



Access to XMLHttpRequest at 'API Gateway URL' from origin 'Cloud Front URL' has been blocked by CORS policy: Request header field access-control-allow-origin is not allowed by Access-Control-Allow-Headers in preflight response.


I've enabled CORS in my API Gateway, I've added Whitelisting for ORIGIN in my Cloudfront. I've added CORS to my S3. I'm banging my head here trying to figure out where I'm going wrong.



S3 CORS Rules:



<?xml version="1.0" encoding="UTF-8"?>
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<CORSRule>
<AllowedOrigin>*</AllowedOrigin>
<AllowedMethod>GET</AllowedMethod>
<AllowedMethod>POST</AllowedMethod>
<AllowedMethod>PUT</AllowedMethod>
<AllowedMethod>DELETE</AllowedMethod>
<AllowedMethod>HEAD</AllowedMethod>
<MaxAgeSeconds>300</MaxAgeSeconds>
<AllowedHeader>*</AllowedHeader>
</CORSRule>
</CORSConfiguration>


Thank you for any help.










share|improve this question
















I've created a REST API that API Gateway will route to. Using Postman I can do a POST request to my API Gateway and everything works fine. I have a static Angular site hosted on S3 that has CloudFront in front of it. When trying to make that same POST request from Cloudfront to S3 I get the following:



Access to XMLHttpRequest at 'API Gateway URL' from origin 'Cloud Front URL' has been blocked by CORS policy: Request header field access-control-allow-origin is not allowed by Access-Control-Allow-Headers in preflight response.


I've enabled CORS in my API Gateway, I've added Whitelisting for ORIGIN in my Cloudfront. I've added CORS to my S3. I'm banging my head here trying to figure out where I'm going wrong.



S3 CORS Rules:



<?xml version="1.0" encoding="UTF-8"?>
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<CORSRule>
<AllowedOrigin>*</AllowedOrigin>
<AllowedMethod>GET</AllowedMethod>
<AllowedMethod>POST</AllowedMethod>
<AllowedMethod>PUT</AllowedMethod>
<AllowedMethod>DELETE</AllowedMethod>
<AllowedMethod>HEAD</AllowedMethod>
<MaxAgeSeconds>300</MaxAgeSeconds>
<AllowedHeader>*</AllowedHeader>
</CORSRule>
</CORSConfiguration>


Thank you for any help.







amazon-s3 aws-api-gateway amazon-cloudfront






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Mar 8 at 2:09







mint

















asked Mar 8 at 1:48









mintmint

2,049103148




2,049103148












  • How do you enable CORS on S3? <CORSConfiguration> <CORSRule> <AllowedOrigin>*</AllowedOrigin> <AllowedMethod>*</AllowedMethod> </CORSRule> </CORSConfiguration>

    – anhlc
    Mar 8 at 2:03











  • @anhlc Please see edit.

    – mint
    Mar 8 at 2:10











  • seems you don't have issue with S3. What language do you use at the backend behind API gateway? For example nodejs will need to set all these headers: response.setHeader("Access-Control-Allow-Origin", "*"); response.setHeader("Access-Control-Allow-Credentials", "true"); response.setHeader("Access-Control-Allow-Methods", "GET,HEAD,OPTIONS,POST,PUT"); response.setHeader("Access-Control-Allow-Headers", "Access-Control-Allow-Headers, Origin,Accept, X-Requested-With, Content-Type, Access-Control-Request-Method, Access-Control-Request-Headers");

    – anhlc
    Mar 8 at 4:52











  • @anhlc I'm using a .Net Core Web API backend. The S3 Front End uses angular.

    – mint
    Mar 8 at 13:25






  • 3





    Read the error message carefully: "Request header field access-control-allow-origin is not allowed by Access-Control-Allow-Headers in preflight response." This indicates that your request is trying to send access-control-allow-origin, which does not make sense -- that is a response header, not a request header, and should not be sent with a request (nor proposed in pre-flight). Showing the front-end code that actually makes the POST request seems appropriate, here.

    – Michael - sqlbot
    Mar 8 at 21:22


















  • How do you enable CORS on S3? <CORSConfiguration> <CORSRule> <AllowedOrigin>*</AllowedOrigin> <AllowedMethod>*</AllowedMethod> </CORSRule> </CORSConfiguration>

    – anhlc
    Mar 8 at 2:03











  • @anhlc Please see edit.

    – mint
    Mar 8 at 2:10











  • seems you don't have issue with S3. What language do you use at the backend behind API gateway? For example nodejs will need to set all these headers: response.setHeader("Access-Control-Allow-Origin", "*"); response.setHeader("Access-Control-Allow-Credentials", "true"); response.setHeader("Access-Control-Allow-Methods", "GET,HEAD,OPTIONS,POST,PUT"); response.setHeader("Access-Control-Allow-Headers", "Access-Control-Allow-Headers, Origin,Accept, X-Requested-With, Content-Type, Access-Control-Request-Method, Access-Control-Request-Headers");

    – anhlc
    Mar 8 at 4:52











  • @anhlc I'm using a .Net Core Web API backend. The S3 Front End uses angular.

    – mint
    Mar 8 at 13:25






  • 3





    Read the error message carefully: "Request header field access-control-allow-origin is not allowed by Access-Control-Allow-Headers in preflight response." This indicates that your request is trying to send access-control-allow-origin, which does not make sense -- that is a response header, not a request header, and should not be sent with a request (nor proposed in pre-flight). Showing the front-end code that actually makes the POST request seems appropriate, here.

    – Michael - sqlbot
    Mar 8 at 21:22

















How do you enable CORS on S3? <CORSConfiguration> <CORSRule> <AllowedOrigin>*</AllowedOrigin> <AllowedMethod>*</AllowedMethod> </CORSRule> </CORSConfiguration>

– anhlc
Mar 8 at 2:03





How do you enable CORS on S3? <CORSConfiguration> <CORSRule> <AllowedOrigin>*</AllowedOrigin> <AllowedMethod>*</AllowedMethod> </CORSRule> </CORSConfiguration>

– anhlc
Mar 8 at 2:03













@anhlc Please see edit.

– mint
Mar 8 at 2:10





@anhlc Please see edit.

– mint
Mar 8 at 2:10













seems you don't have issue with S3. What language do you use at the backend behind API gateway? For example nodejs will need to set all these headers: response.setHeader("Access-Control-Allow-Origin", "*"); response.setHeader("Access-Control-Allow-Credentials", "true"); response.setHeader("Access-Control-Allow-Methods", "GET,HEAD,OPTIONS,POST,PUT"); response.setHeader("Access-Control-Allow-Headers", "Access-Control-Allow-Headers, Origin,Accept, X-Requested-With, Content-Type, Access-Control-Request-Method, Access-Control-Request-Headers");

– anhlc
Mar 8 at 4:52





seems you don't have issue with S3. What language do you use at the backend behind API gateway? For example nodejs will need to set all these headers: response.setHeader("Access-Control-Allow-Origin", "*"); response.setHeader("Access-Control-Allow-Credentials", "true"); response.setHeader("Access-Control-Allow-Methods", "GET,HEAD,OPTIONS,POST,PUT"); response.setHeader("Access-Control-Allow-Headers", "Access-Control-Allow-Headers, Origin,Accept, X-Requested-With, Content-Type, Access-Control-Request-Method, Access-Control-Request-Headers");

– anhlc
Mar 8 at 4:52













@anhlc I'm using a .Net Core Web API backend. The S3 Front End uses angular.

– mint
Mar 8 at 13:25





@anhlc I'm using a .Net Core Web API backend. The S3 Front End uses angular.

– mint
Mar 8 at 13:25




3




3





Read the error message carefully: "Request header field access-control-allow-origin is not allowed by Access-Control-Allow-Headers in preflight response." This indicates that your request is trying to send access-control-allow-origin, which does not make sense -- that is a response header, not a request header, and should not be sent with a request (nor proposed in pre-flight). Showing the front-end code that actually makes the POST request seems appropriate, here.

– Michael - sqlbot
Mar 8 at 21:22






Read the error message carefully: "Request header field access-control-allow-origin is not allowed by Access-Control-Allow-Headers in preflight response." This indicates that your request is trying to send access-control-allow-origin, which does not make sense -- that is a response header, not a request header, and should not be sent with a request (nor proposed in pre-flight). Showing the front-end code that actually makes the POST request seems appropriate, here.

– Michael - sqlbot
Mar 8 at 21:22













0






active

oldest

votes











Your Answer






StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");

StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);

else
createEditor();

);

function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);



);













draft saved

draft discarded


















StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55055595%2fcloudfront-s3-api-gateway%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown

























0






active

oldest

votes








0






active

oldest

votes









active

oldest

votes






active

oldest

votes















draft saved

draft discarded
















































Thanks for contributing an answer to Stack Overflow!


  • Please be sure to answer the question. Provide details and share your research!

But avoid …


  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.

To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55055595%2fcloudfront-s3-api-gateway%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

Thal And Out Agency railway station See also References External links Navigation menuOfficial Web Site of Pakistan RailwaysArchivedOfficial Web Site of Pakistan Railwayseeexpanding ite

Posting a File and Associated Data to a RESTful WebService preferably as JSON2019 Community Moderator ElectionREST URI convention - Singular or plural name of resource while creating itUploading both data and files in one form using Ajax?How do I upload a file with metadata using a REST web service?REST API - file (ie images) processing - best practicesSpring: JSON data and file in the same requestREST API Put large dataPosting a file and JSON data to Spring rest serviceRESTful Web Service Upload/Download Large Data With JSONREST API Design sending JSON data and a file to the api in same requestPost JSONArray to REST servicePUT vs. POST in RESTParsing values from a JSON file?JavaScript/jQuery to download file via POST with JSON dataHow do I upload a file with metadata using a REST web service?How to POST JSON data with Curl from Terminal/Commandline to Test Spring REST?Separate REST JSON API server and client?what's the correct way to send a file from REST web service to client?How do I write JSON data to a file?What is “406-Not Acceptable Response” in HTTP?REST API - file (ie images) processing - best practices

How can I change the color of pagination dots of UIPageControl?How to change UIPageControl dotsIs there a way to change page indicator dots colorCustomize dot with image of UIPageControl at index 0 of UIPageControlNo visible @interface for 'NSObject<PageControlDelegate>' declares the selector 'pageControlPageDidChange:'How to change the color of pagination dots in UIPageControl with a different color per pagepagecontrol indicator custom image instead of DefaultChanging the colour of UIPageControl dots in MonoTouchpagecontrol selectable page visibility color?Alternative way to load ViewControllers on a UIPageControlHow to set only layer.border-color for UIpage control dots in swiftHow can I develop for iPhone using a Windows development machine?How to change the name of an iOS app?UITableView - change section header coloruipagecontrol indicator(dot)issueCustom UIPageControl dots color not changingchange the interspace between UIPageControl dotsHow to change Status Bar text color in iOSHow can I change image tintColor in iOS and WatchKitUIPageControl dots with larger space in between each dotsHow to change the color of pagination dots in UIPageControl with a different color per page