Enable POST / PUT / DELETE on AWS CloudFront?

In AWS CloudFront, I installed this inside: "Allowed HTTP Methods" in the "Default Cache Behavior Settings" section: GET, HEAD, OPTIONS, PUT, POST, PATCH, DELETE

My CloudFront is connected to an AWS S3 bucket. So I set up the AWS S3 CORS configuration as follows:

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

My current AWS S3 bucket policy:

 { "Version": "2008-10-17", "Statement": [ { "Sid": "AllowPublicRead", "Effect": "Allow", "Principal": { "AWS": "*" }, "Action": "s3:GetObject", "Resource": "arn:aws:s3:::<bucket_name_here>/*" } ] } 

Unfortunately, when running curl I get:

 $ curl -I -s -X POST -H "Origin: www.example.com" [hash_here].cloudfront.net HTTP/1.1 405 Method Not Allowed Content-Type: application/xml Transfer-Encoding: chunked Connection: keep-alive Access-Control-Allow-Origin: * Access-Control-Allow-Methods: GET, PUT, POST, DELETE, HEAD Access-Control-Max-Age: 3000 Vary: Origin, Access-Control-Request-Headers, Access-Control-Request-Method Allow: GET, DELETE, HEAD, PUT Date: Sun, 01 Mar 2015 14:12:26 GMT Server: AmazonS3 X-Cache: Error from cloudfront Via: 1.1 5896eef8502a96757950c7d389f2015c.cloudfront.net (CloudFront) X-Amz-Cf-Id: uBK_gStEvSTWypvU8_YYjtfjC2UzdR3Ff_cDLitMaeUBNZ9AgrSkJg== 
+7
cors amazon-s3 amazon-web-services amazon-cloudfront
source share
1 answer

It may be too late to answer this question. One reason for this problem is the default Root object . The POST request must be specified in the root URL ("/") . Check the settings of the primary root object in the cloud. Its value should be empty , not index.html .

0
source share

All Articles