Certificate Manager中的设置
注意,Region一定要选择us-east-1 (N. Virginia)
Domain name中输入:api.lcoding.club,注意这里支持通配符,比如:”*.lcoding.club”也能支持”api.lcoding.club”。
然后需要在自己注册域名的地方进行验证(创建一条CNAME记录)
等到验证通过后进入下一步。
serverless项目中的设置
首先安装对应的包
bash
yarn add serverless-domain-managerserverless.yml配置文件
然后在serverless.yml中添加这个插件:
yaml
plugins:
- serverless-domain-manager然后添加:
yaml
custom:
customDomain:
domainName: api.lcoding.club
basePath: ''
stage: ${self:provider.stage}
createRoute53Record: true (如果不在Route 53,而是在别处管理域名就要输入false)在Domain Manager中创建domain
bash
sls create_domain如果前面的certificate还没有创建好就运行这个命令,就会出现下面的错误提示:
bash
Error: Unable to create domain 'api.lcoding.club':
Could not find an in-date certificate for 'api.lcoding.club'.这个过程需要大约40分钟左右,等待整个过程结束后,可以重新部署API:
bash
sls deploy在部署结束后,会创建相应的:
- Domain name: api.lcoding.club
- Target domain: xxxxxxxxxxxxxxxx.cloudfront.net
- Hosted Zone Id: XXXXXXXXXX (只有在Route 53中创建记录时才会创建Zone Id)