Search code examples
amazon-web-servicesamazon-s3amazon-cloudfront

How AWS Cloudfront forward my request Initiated by S3 bucket?


This may be a simple question, but I can't find any tutorials for it

My website all store in S3 bucket, but the front-end and back-end are stores in different buckets

In my front-end website, JS initiated a request URL use relative path, like /api/***, the request URL to be http://front-end.com/api/***. how can I make all these requests redirect to my back-end bucket. like this: http://back-end.com/api/***

https://docs.aws.amazon.com/AmazonS3/latest/user-guide/redirect-website-requests.html

this doc can't seem to do this


Solution

  • Is there a reason you need to use different domain names to serves your content ? To redirect from http://front-end.com/api/* to http://back-end.com/api/*, there are couple of ways: 1. Use Lambda@edge viewer request function to redirect with 301/302 with new URL. 2. Use S3 bucket for redirection.
    In any of above case, you need both front-end.com and back-end.com to point to CloudFront so that you can serve them from CloudFront.

    An easy way is to access all of them using front-end.com and create a cache behavior which Path pattern "/api/*" and choose the Origin bucket where you want to make the request.