所以我读了this以及有关CDN here的Rails文档,我仍然在概念上对一些事情感到困惑。
控制器和模型等Rails文件何时发挥作用?
图像更新时如何使CDN缓存无效?
但是,具有动态内容的文件与用户的姓名和地址相似。怎么处理?
这是我的理解。如果我错过了,请纠正我:
首先,当向myrailsapp.com
发出请求时,请求首先进入CDN,因为我们现在将myrailsapp.com的CNAME指向CDN地址(比如它是cdnmyrailsapp.com
)。我想DNS服务器理解将这些请求路由到CDN。 CDN检查是否有任何缓存的内容。如果没有,我想CDN会将请求转发给实际的服务器吗?这是当Rails的控制器被命中并且静态资产或javascript文件被传递到CDN的时候。此文件的所有未来请求现在都使用CDN上的缓存版本。
答案 0 :(得分:0)
CDN
只能提供静态资产(已编译的css和js文件等),而不能提供模型和控制器。 (您可以通过assets:precompile)
您的服务器在没有CDN
的情况下直接提供所有动态内容。
您的文件放在CDN
域(http://c000000.cdn.rackspacecloud.com
样本)上,您的应用程序保留在您的域中(您不需要CNAME)。