我已经build立了一个Edgecast CDN来镜像我所有的静态内容。 因为我使用我的域( donaldjenkins.com )的根来托pipe我的主站点 – 使用设置Cookie的Google Analytics(分析) – 我donaldjenkins.info相应的静态文件存储在单独的无cookie的域( donaldjenkins.info )中,该域仅用于此目的。 我已经设置了它(使用本指南进行一般指导),结构如下,基于客户出处和CDN起源的组合,充分利用所选的短域名并提供有意义的URL:
http://donaldjenkins.info:80被设置为CDN中目录http://wac.62E0.edgecastcdn.net/8062E0/donaldjenkins.info的内容的客户来源 ;
然后,我为每个相应的静态内容types设置了一个单独的域的各个子域,即方便命名的cdn.dj ,作为CDN源边缘CNAME:
js.cdn.dj指向原始目录http://wac.62E0.edgecastcdn.net/0062E0/donaldjenkins.info/js ; css.cdn.dj指向原始目录http://wac.62E0.edgecastcdn.net/0062E0/donaldjenkins.info/css ; images.cdn.dj指向原始目录http://wac.62E0.edgecastcdn.net/0062E0/donaldjenkins.info/images 等等。 这导致一些相当不错,简短,清晰的url。
cdn.dj的DNS区域文件(是的,它是一个在吉布提注册的真实域名)被正确设置:
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.
DNSparsing为Edgecasturl:
$ 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
但是,无论何时我试图抓取CNAME资产映射到的任何目录中的文件,我都会得到一个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>
尽pipe存在相应的客户来源文件:
$ curl http://donaldjenkins.info/js/combined.js
获取combined.js文件的内容。 自从我设置CDN以来,DNS已经绰绰有余了。
在上述设置中显然有一些明显的错误,我对CDN有点新手 – 但任何build议都会受到感谢。
它与DNS没有任何关系。 您不应该使用CDN原始服务器。 您的所有内容都在您的客户来源服务器上。 使用CDN原始服务器,您可以手动(通过FTP)向其上传内容。
所以,删除CDN原始服务器。 删除cdn.dj Alogging(假设你只是想为cdn使用cdn.dj)
然后按照http://wiki.mediatemple.net/images/EdgeCast_HTTP_Small_Object_Guide_3.03.pdf中的说明操作:
configuration我们的边缘服务器来识别您的CNAME
那么这是发生了什么事情:
这是因为你没有正确configuration你的DNS。
看起来你已经启用了DNS通配符,这样anything.donaldjenkins.info就会成为205.186.157.162的Alogging。
你的CSS,JS,图像子域名似乎也指向这个IP而不是CNAMES; 这导致我相信你错误地configuration了这些。
要configurationimages子域,你应该有这样的东西:
images.cdn 43200 IN CNAME wac.62E0.edgecastcdn.net.
我真的希望你说*.cdn.dj作为一种缩短donaldjenkins.info的方法,因为cdn.dj不是一个真正的域名,你可以使用。