Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

AWS CloudFront Leverage browser caching

does anyone know how to set up CloudFront Caching correctly? I've got a Jekyll website in S3 and CloudFront set up like this:

Path Pattern: Default (*)

Minimum TTL: 86400
Maximum TTL: 604800
Default TTL: 86400

But when I use Pingdom.com or PageSpeed Insights I get a message:

The following cacheable resources have a short freshness lifetime. Specify an expiration at least one week in the future for the following resources

like image 958
Richard Kacerek Avatar asked Mar 12 '17 12:03

Richard Kacerek


1 Answers

The TTL you've configured within CloudFront is in relation to CloudFront's internal caching, and not on a per browser level.

Essentially, you are telling CloudFront to keep the file in it's Edges for a minimum of 86400 seconds etc.

To communicate a maximum/minimum TTL to a browser, you need to add a Cache-Control HTTP header to the requested file.

http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Expiration.html

like image 94
Paddez Avatar answered Oct 11 '22 11:10

Paddez