函数计算静态网站 CDN 的若干注意事项
2023-11-03 14:27:44
最近在优化测试阿里云的函数计算和 CDN 的配合使用时发现了一个需要额外注意的地方。
我们知道,函数计算支持静态网站部署,也就是说,我们可以直接将网站的静态资源(HTML、CSS、JavaScript、图片等)上传到函数计算,然后通过访问函数计算的域名来访问这些静态资源。
但是,如果我们想使用 CDN 来加速这些静态资源的访问,就需要注意以下几点:
-
CDN 需要对函数计算的域名进行CNAME解析
在 CDN 上配置加速域名时,我们需要将 CDN 的 CNAME 指向函数计算的域名。例如,如果函数计算的域名是
www.example.com
,那么我们需要将 CDN 的 CNAME 指向www.example.com
。 -
CDN 需要对函数计算的域名启用 HTTPS
为了确保数据传输的安全,我们需要在 CDN 上对函数计算的域名启用 HTTPS。在 CDN 上配置加速域名时,我们需要选择 “HTTPS” 协议,并上传函数计算域名的 SSL 证书。
-
CDN 需要对函数计算的域名配置缓存规则
在 CDN 上配置加速域名后,我们需要为函数计算的域名配置缓存规则。在 CDN 上配置缓存规则时,我们需要选择 “静态缓存” 规则,并设置合适的缓存时间。
-
需要正确设置CDN回源地址
配置CDN回源地址时,必须使用与函数计算域名相同的域名,且回源地址必须包含整个函数计算的域名地址。正确的回源地址格式为:https://www.example.com/(www.example.com替换为实际的函数计算域名)
-
CDN 需要对函数计算的域名进行预热
在 CDN 上配置加速域名后,我们需要对函数计算的域名进行预热。预热是指将函数计算的域名下的静态资源预先加载到 CDN 的边缘节点上,以便当用户访问这些资源时,可以从 CDN 的边缘节点上直接获取,从而减少访问延迟。
-
使用自有源站
如果网站使用了CDN的加速,那么使用
oss
部署静态网站时一定要选择自有源站,否则会导致CDN加速无法生效。 -
函数计算对象存储访问权限
函数计算使用存储桶中的对象作为函数的代码,而 CDN 则使用存储桶中的对象作为网站资源。要使 CDN 能够访问存储桶中的对象,您需要在存储桶中为 CDN 用户授予读取权限。有关如何授予读取权限的说明,请参阅阿里云网站上文档:如何控制对存储桶的访问。
-
CDN 缓存的时效性
CDN 会将资源缓存一段时间,以减少服务器的负载并提高网站的速度。缓存的时效性取决于 CDN 配置的缓存规则。您可以通过 CDN 控制台或 API 来配置缓存规则。
了解了这些注意事项,就可以在阿里云的函数计算和 CDN 的配合使用中避免出现一些常见的问题。