一、前提条件
·已经部署了网站服务,获取了 COS/API 网关的网站托管地址。具体部署方法请参见 快速部署 Hexo 博客。
·已拥有自定义域名(例如 www.example.com),并确保输入的域名已 备案。
·如果需要 HTTPS 访问,可以申请证书并且 获得证书 ID (例如:certificateId : axE1bo3),个人站点可以直接申请 免费 SSL 证书申请流程。
二、方案一:通过 CDN 加速配置支持自定义域名的 HTTPS 访问
配置前,需要确保账号实名并已经 开通 CDN 服务。
三、增加配置
在 serverless.yml 中,增加 CDN 自定义域名配置:
# serverless.ymlcomponent: websitename: myWebsiteapp: websiteAppstage: devinputs: src: src: ./public index: index.html error: index.html region: ap-guangzhou bucketName: my-hexo-bucket protocol: https # 新增的 CDN 自定义域名配置 hosts: – host: www.example.com # 希望配置的自定义域名 https: switch: on http2: off certInfo: certId: 'abc' # certificate: 'xxx' # privateKey: 'xxx'
查看完整配置项说明 >>
四、部署服务
再次通过 scf deploy 命令进行部署,并可以添加 –debug 参数查看部署过程中的信息。
如你的账号未 登录 或 注册 腾讯云,你可以直接通过微信扫描命令行中的二维码进行授权登录和注册。
注意:说明:
注意:serverless-cloud-framework 命令的简写为 scf。
$ scf deploy myWebsite: url: https://my-hexo-bucket-1250000000.cos-website.ap-guangzhou.myqcloud.com env: host: – https://www.example.com (CNAME: www.example.com.cdn.dnsv1.com) 17s › myWebsite › done
五、添加 CNAME
部署完成后,在命令行的输出中可以查看到一个以 .cdn.dnsv1.com 为后缀的 CNAME 域名。参考 CNAME 配置文档,在 DNS 服务商处设置好对应的 CNAME 并生效后,即可访问自定义 HTTPS 域名。
六、增加配置
在 serverless.yml 中,增加 API 网关自定义域名配置。这篇以 egg.js 框架为例,配置如下:
# serverless.ymlcomponent: apigateway # (必填) 组件名称,此处为 apigatewayname: restApi # (必填) 实例名称app: appDemo # (可选) 该应用名称stage: dev # (可选) 用于区分环境信息,默认值为 devinputs: region: ap-shanghai protocols: – http – https serviceName: serverless environment: release customDomains: – domain: www.example.com # 如要添加 https,需先行在腾讯云 – SSL 证书进行认证获取 certificateId certificateId: abcdefg protocols: – http – https endpoints: – path: /users method: POST function: functionName: myFunction # 网关所连接函数名
查看完整配置项说明 >>
七、部署服务
再次通过 scf deploy 命令进行部署,并可以添加 –debug 参数查看部署过程中的信息。
如你的账号未 登录 或 注册 腾讯云,你可以直接通过微信扫描命令行中的二维码进行授权登录和注册。
$ scf deploy restApi: protocols: – http – https subDomain: service-lqhc88sr-1250000000.sh.apigw.tencentcs.com environment: release region: ap-shanghai serviceId: service-lqhc88sr apis: – path: /users method: POST apiId: api-e902tx1q customDomains: – www.example.com (CNAME: service-lqhc88sr-1250000000.sh.apigw.tencentcs.com) 8s › restApi › done
八、添加 CNAME 记录
部署完成后,在命令行的输出中可以查看到一个以 .apigw.tencentcs.com 为后缀的 CNAME 域名。参考 添加 CNAME 记录,在 DNS 服务商处设置好对应的 CNAME 并生效后,即可访问自定义 HTTPS 域名。