CDN CNAMEs not resolving to customer origin

Posted by Donald Jenkins on Pro Webmasters See other posts from Pro Webmasters or by Donald Jenkins
Published on 2012-03-02T20:04:06Z Indexed on 2012/09/26 9:52 UTC
Read the original article Hit count: 697

Filed under:
|

I have set up an Edgecast CDN to mirror all my static content. Because I use the root of my domain (donaldjenkins.com) to host my main site—using Google Analytics which sets cookies—I've stored the corresponding static files in a separate cookieless domain (donaldjenkins.info) which is used only for this purpose. I've set it up (using this guide for general guidance), with the following structure, based on a combination of customer origin and CDN origin to make the most of the chosen short domain name and provide meaningful URLs:

  1. http://donaldjenkins.info:80 is set as the customer origin for the content stored in the CDN at directory http://wac.62E0.edgecastcdn.net/8062E0/donaldjenkins.info;

  2. I've then set up various subdomains of a separate domain, the conveniently-named cdn.dj, as CDN-origin Edge CNAMEs for each of the corresponding static content types:

    • js.cdn.dj points to the origin directory http://wac.62E0.edgecastcdn.net/0062E0/donaldjenkins.info/js;
    • css.cdn.dj points to the origin directory http://wac.62E0.edgecastcdn.net/0062E0/donaldjenkins.info/css;
    • images.cdn.dj points to the origin directory http://wac.62E0.edgecastcdn.net/0062E0/donaldjenkins.info/images

and so on. This results in some pretty nice, short, clear URLs.

The DNS zone file for cdn.dj (yes, it's a real domain name registered in Djibouti) is set properly:

cdn.dj          43200   IN   A       205.186.157.162     
css.cdn.dj      43200   IN   CNAME   wac.62E0.edgecastcdn.net.
images.cdn.dj   43200   IN   CNAME   wac.62E0.edgecastcdn.net.
js.cdn.dj       43200   IN   CNAME   wac.62E0.edgecastcdn.net.

The DNS resolves to the Edgecast URL:

$ host js.cdn.dj
js.cdn.dj is an alias for wac.62E0.edgecastcdn.net.
wac.62E0.edgecastcdn.net is an alias for gs1.wac.edgecastcdn.net.
gs1.wac.edgecastcdn.net has address 93.184.220.20

But whenever I try to fetch a file in any of the directories to which the CNAME assets map, I get a 404:

$ curl http://js.cdn.dj/combined.js
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
         "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
    <head>
        <title>404 - Not Found</title>
    </head>
    <body>
        <h1>404 - Not Found</h1>
    </body>
</html>

despite the fact that the corresponding customer origin file exists:

$ curl http://donaldjenkins.info/js/combined.js

fetches the content of the combined.js file. Yet it's been more than enough time for the DNS to propagate since I set up the CDN.

There's obviously some glaring mistake in the above-described setup, and I'm a bit of a novice with CDNs—but any suggestions would be gratefully received.

© Pro Webmasters or respective owner

Related posts about dns

Related posts about cdn