In AWS CloudFront ho Impostare questo entro: "ammessi metodi HTTP" nell'area "Impostazioni predefinite comportamento della cache": GET, HEAD, OPTIONS, PUT, POST, PATCH, DELETE
Abilitare POST/PUT/DELETE su AWS CloudFront?
mio CloudFront è legata a un secchio di AWS S3. Così ho impostato la configurazione AWS S3 CORS a:
<?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>
mio attuale politica secchio AWS S3 è:
{
"Version": "2008-10-17",
"Statement": [
{
"Sid": "AllowPublicRead",
"Effect": "Allow",
"Principal": {
"AWS": "*"
},
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::<bucket_name_here>/*"
}
]
}
Purtroppo quando eseguito attraverso curl
ottengo:
$ 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==
Dalla risposta che hai postato sembra che l'errore sia stato restituito da S3, non da CloudFront. Hai configurato correttamente i permessi di accesso del bucket in modo che CloudFront potesse eseguire il POST lì? –
Penso di averlo fatto, tutto ciò che ho fatto è delineato nella mia domanda. Se mi manca un passaggio, quindi indicare dove e accetterò la soluzione di lavoro come risposta :) –
Date un'occhiata qui: http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private- content-limitando-Access-to-s3.html #-content privato-concessione-permissions-to-oai. Parla di permessi per leggere l'oggetto, ma penso che potrebbe essere necessario abilitare esplicitamente il permesso di scrittura per l'identità di accesso all'originale che usi per CloudFront –