amazon web services - Custom redirection rules on S3 returns 403 when using CloudFront -


i have custom redirection rule bucket on s3:

<routingrules>   <routingrule>     <condition>       <keyprefixequals/>       <httperrorcodereturnedequals>404</httperrorcodereturnedequals>     </condition>     <redirect>       <protocol>https</protocol>       <hostname>example2.com</hostname>       <replacekeyprefixwith>services/create?key=</replacekeyprefixwith>       <httpredirectcode>307</httpredirectcode>     </redirect>   </routingrule> </routingrules> 

and bucket has proper policy:

{     "version": "2008-10-17",     "statement": [         {             "sid": "publicreadforgetbucketobjects",             "effect": "allow",             "principal": {                 "aws": "*"             },             "action": "s3:getobject",             "resource": "arn:aws:s3:::example.com/*"         }     ] } 

this works fine when access via internal url http://example.com.s3-website-us-east-1.amazonaws.com , redirects me other server properly.

however, doesn't work cloudfront setup. when try access directly (http://example.com/images/dummy.jpg), receive 403 accessdenied.

apparently, when using default s3 bucket origin - won't respect redirection rules.

by default, tries use:

example.com.s3.amazonaws.com, should force custom origin:

example.com.s3-website-us-east-1.amazonaws.com instead.

once forced it, started work.


Comments

Popular posts from this blog

Is there a better way to structure post methods in Class Based Views -

reflection - How to access the object-members of an object declaration in kotlin -

php - Doctrine Query Builder Error on Join: [Syntax Error] line 0, col 87: Error: Expected Literal, got 'JOIN' -