简介

在此之前可能很多小伙伴Cloudflare用的比较多,CloudFront则可能是用的少之又少,本篇文章则分享下以富强应用为代表的websocket在CloudFront中的配置流程。

好的,来看下关于CloudFront的介绍吧~

CloudFront是aws亚马逊云推出的全球CDN功能,并且拥有Cloudflare免费套餐没有的亚太地区的加速节点,得益于具有免费套餐;每个账户可获得一定的 免费额度 如:

  • 每月 1 TB 传出数据
  • 每月 10000000 个 HTTP 或 HTTPS 请求
  • 每月 200 万次 CloudFront 函数调用
  • 免费 SSL 证书(泛域名)
  • 并且网络体验效果优于Cloudflare

亚马逊云的优点上面也介绍了,但也有些许不友好的地方,如:

  • 注册需要外币信用卡(visa卡)
  • 配置起来略微复杂于其他云厂商

具体的配置方法在下术章节来体现吧~

准备工作

开始之前需要的材料如下:

  • 域名一只
  • VISA信用卡一张

之后在 注册 AWS 页面注册账号

实战配置

创建账户

注册账户略微复杂,步骤繁琐,这里不再提到,可自行查阅文档。

创建分配

进入CloudFront的 控制台

源配置

首先是来到源配置,在源配置中配置需要加速的域名,这里需要注意下,aws的cf产品设计于其他云厂商不太一样,他的源节点,也就是需要加速的真实的后端节点需要填写域名的方式,而其他云厂商则大部分是填写IP地址。

那么我们先解析一条A记录的域名,如:tmt-seattle-node02.init.ac 解析到具体后端节点IP,如 1.1.1.1,并且在nginx中添加该域名,可参考下述配置,解析好之后,直接将需要加速的域名填进去,仅仅处理HTTPS,最低的SSL选择 TLSv1.2

# nginx中使用tmt-seattle-node02.init.ac域名
server {
    listen 443 ssl http2;
    server_name tmt-seattle-node02.init.ac;
    .....

其他配置先默认不管

默认缓存行为

来到默认缓存行为配置处,在查看器协议策略处,改为HTTPS only ; 缓存键和源请求改为 Legacy cache settings 其余配置则都为默认即可

函数关联

不配置

设置

来到设置处,在备用域名(CNAME)这里,我们先留意一下,后面需要配置,此处先忽略

点击创建分配处,完成分配的创建

测试访问

创建好之后,会分配给我们一个代理后的CDN地址: d1f2etmdjsscrh.cloudfront.net,试着访问该域名的https协议,看是不是已经反代到了我们的网站。如果打开后是我们自己的网站,说明配置成功~


到这里结束了吗?并没有。我们虽然已经成功使用aws的cf完成代理服务,但对外发布的域名并不是我们自己的域名,下面步骤来增加一个我们自己的域名对外发布使用。当然如果你想,也可以使用cloudfront.net这个域名啦

配置域名

申请证书

来到 AWS 的 AWS Certificate Manager 申请一个证书

在完全限定域名处我们可以直接写 *.xxx.com 申请到为期一年的泛域名证书 (可惜只能在aws产品中使用~);验证方法使用DNS验证(当然你的域名下如果有邮箱服务且邮箱名称是admin、administrator、hostmaster、postmaster、webmaster的任意一种,那么更适合使用邮箱来验证,邮箱验证的速度比dns要快很多),其他保持默认,接下来点你的证书ID,来到域这个地方,可以看到
状态为等待验证,需要在域名解析处添加一条cname解析。

等到后面验证通过即可,一般DNS验证时间比较久,需要耐心等待

绑定域名

完成dns验证后接着来到cloudfront的控制台,并点击具体的id进入设置 --> 编辑 页面

备用域名(CNAME)处填写我们自定义的域名 如:tmt-seattle-node02-cdn.init.ac 并绑定的自定义SSL证书;证书就选我们刚刚申请通过的

之后保存提交,并在dns解析处新增加一条cname的解析:自定义域名 cname解析到 cloudfront的域名 如:

等到域名解析生效即可访问 https://自定义域名 来愉快的玩耍啦~

简单测试

YouTube

节点分配

综合评价

最后修改:2023 年 10 月 16 日
如果觉得我的文章对你有用,请随意赞赏