Skip to content

How do I use a single CloudFront web distribution to serve content from multiple origins that use multiple behaviors?

2 minute read
0

I want to configure a single Amazon CloudFront web distribution to serve content from multiple origins that use multiple behaviors.

Resolution

You can configure a single CloudFront web distribution to serve different types of requests from multiple origins. For example, your website might serve static content from an Amazon Simple Storage Service (Amazon S3) bucket and dynamic content from a load balancer. You can serve both types of content from a CloudFront web distribution.

To configure a CloudFront web distribution to serve static content from an S3 bucket and dynamic content from a load balancer, complete the following steps:

  1. Open the CloudFront console.
  2. Select your web distribution, and then choose the Origins tab.
  3. Create one origin for your S3 bucket, and another origin for your load balancer.
    Note: If you use a custom origin server or an S3 website endpoint, then you must enter the origin's domain name for Origin Domain Name.
  4. Choose the Behaviors tab.
  5. Create a behavior that specifies a path pattern to route all static content requests to the S3 bucket.
    Note: For example, you can set the images/*.jpg path pattern to route all requests for .jpg files in the images directory to the S3 bucket.
  6. Edit the Default (*) path pattern behavior and set its Origin as your load balancer.

Related information

Configure distributions

AWS OFFICIALUpdated 8 months ago
1 Comment

Currently I am using a cloudfront distribution to serve my frontend. I am looking to use the same domain for backend too. For that I have added a behavior in cloudfront distribution. All the /api/* requests are mapped to go to an API gateway origin. However when I make the api call to /api/* path pattern, Im getting 404 Not found. The request is reaching cloudfront but not getting redirected to the api gateway.

I have verified for typos, origin path is empty and the api gateway url is functional. Am I missing something? I tried with both HTTP and REST APIs

replied a year ago