通过ngnix和CDN(Rackspace云文件)服务index.html和其他文件

我想通过cdn(和其他一些静态页面)为我的域提供index.html文件。

Amazon EC2实例和Rackspace云文件可以做到这一点吗?

我发现了一些这样做,但只为/ images和/ files目录:

server { listen 80; server_name cdn.failverse.com; access_log /var/log/nginx/cdn.failverse.access.log; location / { root /var/www/vhosts/domain2/public/cdn; index index.html; if (!-e $request_filename) { rewrite ^/images/(.*)$ http://c0918182.cdn.cloudfiles.rackspacecloud.com/$1 redirect; rewrite ^/files/(.*)$ http://c0918176.cdn.cloudfiles.rackspacecloud.com/$1 redirect; } } } 

Using your own domain with Rackspace Cloud Files

如果我能让云文件成为我自己的子域名的一部分,那将是非常好的。 cdn.mydocmain.com(如果我必须使用Rackspace服务器,那么也可以)。

谢谢

那么,根据您的示例configuration做redirect到CDN没有意义,因为当请求/响应通过您的服务器时,然后浏览器向CDN提出新的请求并获得响应,你可能只是发送了客户的内容,并完成了它。 尝试使用代理CDN来解决这个问题也是一个问题。

使用CDN的典型方式是,所有静态资源(图像,JS,CSS)都可以从子域(比如cdn.example.com )提供,用户直接请求的页面包含指向CDN资源的链接在单独的域上。 尝试从CDN中提供所有服务是非常罕见的(尽pipe不是未知的),但是如果你确实要这样做 ,那么你真的必须服务于所有的东西 – 没有任何dynamic的内容。 最接近你可以把你的dynamic内容放在一个域上,把你的静态页面放在CDN上,然后把它们联系起来,但是老实说,这种方式很可能是没有一个很好的自动化站点build立和分配系统的疯狂。