我是否需要更改某些 DNS 设置?如果是,我需要更改哪些设置?只要我设置了正确的缓存控制标头,它们就会自动起作用吗?
编辑:我对 CDN 完全陌生,很好奇您通常需要做哪些事情。比如一些流行的 CDN 的流程是怎样的。
答案1
我不是 100% 确定问题是什么,所以我会尝试给你一些一般信息;
CDN 主要有两种类型:Origin-Pull 和 Origin-Push
Origin-Pull 意味着 CDN 提供商将从您的服务器中提取内容并将其存储在他们的 POP(接入点)网络上。假设您有一个位于http://domain.com/image.jpg,并且你想通过 CDN 提供商的域名来提取它,http://somecdn.com/,你可以直接发送请求到http://somecdn.com/image.jpg。第一次请求文件时,CDN 提供商会像普通用户一样连接到您的服务器,然后保存内容并将其分发到所有 POP(一些 CDN 提供商有 20 个以上的 POP),下次请求内容时,POP 已经缓存了内容,因此它们可以直接从本地磁盘提供内容,直到 CDN 提供商使用任何因素来存储数据(通常是标头、过期时间、上次修改时间等的组合)
Origin-Push 意味着您将内容推送到远程服务器,然后该服务器会自动将其存储在 POP 上,因此即使是第一个请求也很快。
就性能而言,它们大致相同,因此这实际上取决于您觉得哪个系统更容易使用。我通常选择源拉,因为我觉得它更容易,尽管大多数源推送提供商也为您提供云存储(请参阅 Amazon S3、Rackspace CloudFiles、Edgecast 等)。
在设置方面,大多数 CDN 提供商都会为您提供一个域名(Amazon 的 cloudfront.net、Edgecast 的 edgecastcdn.net 等),但几乎所有提供商都允许您使用自己的域名(cdn.mydomain.com)。您的内容应该(但不需要)发送正确的 last-modified、cache-control 和 expires 标头,但这些都可以由 Apache 在 .htaccess 文件中轻松设置
如果你只是想尝试不同的类型,或者使用 CDN,那就去注册一个 Amazon AWS 账户吧,按实际使用量付费,而且没有最低使用量要求,所以你只需花几美分就可以体验专业级系统
答案2
您可能遇到的大多数 CDN 服务都是原点回拉。Kyle 写了一些域名示例,您可以在此处使用特定的 CDN 地址资源进行观察:https://client.cdn77.com/support/knowledgebase/getting-started/how-do-i-integrate-my-website-with-cdn77。如果您是 CDN 新手(我意识到这是一个老问题,所以现在可能不再是这样了),CDN77 是一个不错的选择,它非常容易设置。
希望有所帮助。