Most of the CDN's that I've seen require you to upload your content in advance. I'm looking for a CDN that, upon receiving a request for a resource it hasn't seen, will contact my application server. If the application server returns something, it should be sent to the user and then cached in the CDN. If not, it should just return a 404. If the user requests an unexpired item, the CDN should just serve it without bothering my app server.

Does anything like this exist? Is there a way to get Cloudfront to work like this?


The technology you're looking for is called Origin Pull. I'm not sure about Cloudfront specifically, but most CDNs are able to offer this.

  • 1
    Yep, it's incredibly common. As for the caching or 404's, that's usually up to the origin server to set the appropriate headers, for cache-control & Expires - the CDN will just propagate that. – Alister Bulman Sep 30 '10 at 20:35
  • Try these, in increasing order of cost: CDNetworks, EdgeCache, LimeLight Networks, Akamai. – Thiago Figueiro Oct 31 '10 at 2:43

AS mentioned, you want "origin fetch" services from a CDN. SimpleCDN, MaxCDN, Voxel, CacheFly and others offer this at the low end with contract-less pay-as-you-go options. See here for a list of many of these smaller CDNs.

As for the big boys, Level3, Akamai, and Limeleght offer this with contract-based terms.


Origin pull is also available on MaxCDN.com a cost-effective Content Delivery Network (CDN). It works seamlessly with all hosting providers, including Amazon's S3 and Rackspace. And depending on your CMS platform, you can easily and quickly integrate the CDN on your website, with CMS's such as Wordpress, Drupal, Magento, vBulletin, Joomla CDN and more.


You're looking for the Coral CDN, basically. It's dead easy to use, and free!

  • 1
    Certainly easy to use but I just tried it with a couple of simple static web pages and, at least during my brief test, proved to be extremely slow. Five minutes later I'm still waiting for the second page to load. – John Gardeniers Oct 1 '10 at 2:03
  • Free to use, established for experimental purposes, and people have noted that free is worth what you pay for it. – Fiasco Labs Oct 31 '11 at 6:10

Yes, Cloudfront will do this quite easily. I used it to offload 2/3 of our server image traffic.

  1. Set up Cloudfront with a Custom Origin pointing to your web server.
  2. Set up a cname in your dns entries that points to the assigned Cloudfront server.
  3. Then send all your image requests to your cname server with the path to image on your web server.

Requests to images on your web pages like www.example.com/images/thisimage.jpg becomes a request to media.example.com/images/thisimage.jpg and Cloudfront does all the rest by pulling the image and serving subsequent requests.


You can find more about Origin Pull providers also in discussion at StackOverflow. AFAIK most of pay-as-go CDN providers, as CDN77.com or Maxcdn, has this feature as the simpliest and standard one. It is quite easy for configuration as there is no need for any downloads, just preset directly on CDN.

Something about it also on it here.


Akamai will do this for you.....

  • 1
    Please review the FAQ regarding self promotion if you are not willing to share an explanation with your answer. – danlefree Nov 6 '11 at 4:48

Not the answer you're looking for? Browse other questions tagged or ask your own question.