2 Star 1 Fork 1

Serverless Framework / Documentation

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
自定义域名及 HTTPS 访问配置.md 4.97 KB
一键复制 编辑 原始数据 按行查看 历史
April 提交于 2020-11-22 03:37 . Add files via upload

操作场景

通过 Serverless Component 快速构建一个 Serverless Web 网站服务后,如果您希望配置自定义域名及支持 HTTPS 的访问,则可以按照本文提供的两种方案快速配置。

前提条件

方案一:通过 CDN 加速配置支持自定义域名的 HTTPS 访问

配置前,需要确保账号实名并已经 开通 CDN 服务

增加配置

serverless.yml 中,增加 CDN 自定义域名配置:

# serverless.yml

component: website
name: myWebsite
org: test
app: websiteApp
stage: dev

inputs:
  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'

查看完整配置项说明 >>

部署服务

再次通过sls deploy命令进行部署,并可以添加--debug参数查看部署过程中的信息。

如您的账号未 登录注册 腾讯云,您可以直接通过微信扫描命令行中的二维码进行授权登录和注册。

?slsserverless 命令的简写。

$ sls 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 域名。

方案二:对 API 网关域名进行自定义域名配置

增加配置

serverless.yml 中,增加 API 网关自定义域名配置。本文以 egg.js 框架为例,配置如下:

# serverless.yml

component: apigateway # (必填) 组件名称,此处为 apigateway
name: restApi # (必填) 实例名称
org: orgDemo # (可选) 用于记录组织信息,默认值为您的腾讯云账户 appid
app: appDemo # (可选) 该应用名称
stage: dev # (可选) 用于区分环境信息,默认值为 dev

inputs:
  region: ap-shanghai
  protocols:
    - http
    - https
  serviceName: serverless
  environment: release
  customDomain:
    - domain: www.example.com
      # 如要添加https,需先行在腾讯云-SSL证书进行认证获取cettificateId
      certificateId: abcdefg
      protocols:
        - http
        - https
  endpoints:
    - path: /users
      method: POST
      function:
        functionName: myFunction # 网关所连接函数名
        

查看完整配置项说明>>

部署服务

再次通过sls deploy命令进行部署,并可以添加--debug参数查看部署过程中的信息。 如您的账号未 登录注册 腾讯云,您可以直接通过微信扫描命令行中的二维码进行授权登录和注册。

? slsserverless 命令的简写。

$ sls 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 域名。

1
https://gitee.com/serverless-framework/documentation.git
git@gitee.com:serverless-framework/documentation.git
serverless-framework
documentation
Documentation
main

搜索帮助