10分钟上线-基于函数计算的云相册搭建指南II --使用 CDN 对静态文件加速

本文涉及的产品
简介: 我们希望可以使用 CDN 对静态页面和图片等内容进行加速,使用户访问相册的时候更加流畅。

目标

通过 基于阿里云函数计算的云相册搭建指南,已经可以成功搭建基于阿里云函数计算的云相册,现在我们希望可以使用 CDN 对静态页面和图片等内容进行加速,使用户访问相册的时候更加流畅。
Tips:使用 CDN 加速的前提是用户有一个已备案的域名~,比如http://photo-gallery.mofangdegisn.cn
效果请访问 Photo-Gallery Based on FC Compute II,用户名username,密码password

方案设计

使用CDN加速的photo-gallery

如图所示,此方案与不使用 CDN 的方案相比,主要有两点不同

  • login 函数鉴权成功后,为用户返回的是 CDN 域名的链接
  • 所有的静态页面和图片文件都缓存到 CDN 上

基于以上两点不同,代码实现上在 logAuth 函数和 build 函数与原方案略有区别,所以我们在原方案的基础上新创建两个函数,logAuthCDNbuildCDN

  • logAuthCDN 用于对用户输入的用户名密码的鉴权,并为通过鉴权的用户返回一个缓存到 CDN 上的静态页面的 URL;
  • buildCDN 函数用于将 OSS bucket/prosessed 目录下的照片生成相册页面,与 build 函数的不同也是生成的页面里所有的链接都是使用CDN 的静态页面的 URL,buildCDN 函数生成的相册页面保存在 oss Bucket/webCDN 目录下

搭建步骤

部署阶段

  1. 新建oss目录
    首先,在 oss控制台 上相应 bucket 下新建两个目录,loginCDNwebCDN,其中loginCDN 用于存储登录页面对应的静态文件,webCDN 用于存储buildCDN 函数生成的静态页面,这个静态页面内部的图片链接都是使用 CDN 缓存的图片链接
  2. 下载并修改代码
    下载 photo-gallery.zip,并在 config.json 中添加配置信息。其中 domainName 为自己的域名
  3. CDN添加域名

  4. 设置 CDN 访问私有 oss bucket
    私有 bucket 回源设置
  5. 设置 CDN 鉴权控制
    前往CDN 控制台->域名管理->点击刚才你添加的域名->访问控制->修改配置->URL 鉴权配置->A 方式->主 Key 设置为你自己的key(注意,这个 key 需要和代码中 logAuthCDN.jsbuildCDN.js 的key保持一致)

(使用 CDN 的各种鉴权方式及其他具体内容请参考 鉴权配置
CDN鉴权设置图1
CDN鉴权设置图II

  1. 通过 fcli 创建函数

    • logAuthCDN 函数

      • 安装依赖:进入loginCDN目录下,使用命令npm install安装依赖包
      • 创建函数:mkf logAuthCDN -t nodejs6 -h loginCDN/logAuthCDN.handler -d gallery
      • 通过 API 网关触发 logAuthCDN 鉴权函数:与 logAuth 的API 网关配置一致,只是将后台函数计算的函数改成 logAuthCDN 而已,然后将API网关信息写入config.json
    • uploadLoginPageCDN 函数

      • 创建函数:mkf uploadLoginPageCDN -t nodejs6 -h loginCDN/uploadLoginPageCDN.uploadLoginPageCDN -d gallery
    • buildCDN函数

      • 安装依赖:进入site-builder-cdn目录下,使用命令npm install安装依赖包
      • 创建函数:

        `upf buildCDN -t nodejs6 -h site-builder-cdn/index.build -d gallery`
      • 创建触发器:
        buildCDNTrigger触发器创建

测试阶段

获取 oss bucket loginCDN 目录下的 index.html 页面的链接,这是整个相册的登录页面,输入正确 or 错误用户名密码,就可以跳转到相册页面啦,可以发现相册页面的 url 都是以你的域名开头的,可以看出此页面是通过 CDN 加速的~

参考文献

CDN官方文档
CDN鉴权配置

That's all,enjoy it~ Any question,可留言,或加入函数计算官方客户群(钉钉群号:11721331)

相关文章
|
域名解析 网络协议 对象存储
阿里云 CDN 控制台演示:源站加速|学习笔记
快速学习阿里云 CDN 控制台演示:源站加速
373 0
阿里云 CDN 控制台演示:源站加速|学习笔记
|
1月前
|
关系型数据库 Serverless 分布式数据库
PolarDB PostgreSQL版Serverless功能上线公测啦,公测期间免费使用!
Serverless数据库能够使得数据库集群资源随客户业务负载动态弹性扩缩,将客户从复杂的业务资源评估和运维工作中解放出来。PolarDB PostgreSQL版 Serverless提供了CPU、内存、存储、网络资源的实时弹性能力,构建计算与存储分离架构下的 PolarDB PostgreSQL版产品新形态。
|
8月前
|
弹性计算 人工智能 运维
阿里云宣布 Serverless 应用引擎SAE2.0 将公测上线
7月31日,阿里云智能云原生应用平台负责人丁宇宣布,Serverless 应用引擎 SAE2.0 将于8月7日公测上线,开源版将于9月30日发布。本次升级围绕极简体验、标准开放、极致弹性三大优势展开,应用冷启动全面提效,支持缩容到 0,应用成本下降 40% 以上。
阿里云宣布 Serverless 应用引擎SAE2.0 将公测上线
|
8月前
|
人工智能 弹性计算 运维
阿里云宣布 Serverless 应用引擎 SAE2.0 将公测上线,多款产品全新升级
阿里云宣布 Serverless 应用引擎 SAE2.0 将公测上线,多款产品全新升级
66095 53
|
11月前
|
缓存 网络协议 网络安全
cobalt strike cdn上线笔记
cobalt strike cdn上线笔记
EMQ
|
NoSQL Serverless Linux
Serverless MQTT 服务即将正式上线、新增 2 个平台安装包
EMQX Cloud Serverless 正式版已于四月初正式上线。该版本通过多租户技术和按量计费的模式,为用户提供了极速的部署创建和有效的成本控制。
EMQ
208 0
Serverless MQTT 服务即将正式上线、新增 2 个平台安装包
|
Serverless
《Serverless 开发实战--十分钟上线一个 Web 应用》电子版地址
Serverless 开发实战--十分钟上线一个 Web 应用
417 0
《Serverless 开发实战--十分钟上线一个 Web 应用》电子版地址
|
边缘计算 缓存 对象存储
阿里云OSS传输加速和CDN有什么区别?
阿里云对象存储OSS传输加速和阿里云CDN的区别
|
弹性计算 运维 监控
阿里云Elasticsearch Serverless 正式上线,免费公测中!!!
11月3日,在2022年云栖大会上阿里云重磅推出Elasticsearch Serverless服务,为用户带来全方位Serverless服务化使用体验。在全观测场景下,实现了对资源的按需取用,从而为用户提供简单易用、弹性灵活、开箱即用的Elasticsearch产品体验,做到快速响应业务变化的同时,合理优化使用成本,助力企业降本增效。
2829 0
阿里云Elasticsearch Serverless 正式上线,免费公测中!!!
|
安全 CDN
《CDN政企边缘安全加速产品发布》电子版地址
《CDN政企边缘安全加速产品发布》PPT
95 0
《CDN政企边缘安全加速产品发布》电子版地址

热门文章

最新文章

相关产品

  • 函数计算