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 -

performance - Why is XCHG reg, reg a 3 micro-op instruction on modern Intel architectures? -

jquery - Responsive Navbar with Sub Navbar -