Blog

Blog

PHODAL

Serverless 应用开发指南: API Gateway 与 Route53 自定义域名

在测试使用 Serverless + Node-wechat 制作微信公众号后台的时候,发现微信不能直接使用 API Gateway 的 API 地址。于是,就需要使用自己的域名。

首先,在 Route 53 上注册有域名,如果没有的话,需要转到 Route 53。

然后,在后台为你的域名请求一个证书。

需要注意的是:选择的区域是 us-east-1,这个 region 才能与 API Gateway 一起工作。

在这个过程中,需要验证域名的所有权。所以,你需要先找个地方注册域名邮箱,如我使用的是网易的域名邮箱。

Serveress Domain Manager

在这里我们要用到 serverless-domain-manager 插件:

$ yarn add --dev serverless-domain-manager

或者

$ npm install serverless-domain-manager --save-dev

将这个插件配置好 serverless.yml 文件中:

plugins:
  - serverless-domain-manager

custom:
  customDomain:
    domainName: wechat.wdsm.io
    basePath: ''
    stage: ${self:provider.stage}
    createRoute53Record: true

然后执行创建域名:

serverless create_domain

相应的日志如下:

Serverless: Domain was created, may take up to 40 mins to be initialized.

可以使用 AWS CLI 查看日志的创建状态:

$ aws apigateway get-domain-names

{
    "items": [
        {
            "certificateArn": "arn:aws:acm:us-east-1:706605665335:certificate/278c252a-7aaf-41df-bcf1-adc279347557",
            "distributionDomainName": "d1pp7oijqquj95.cloudfront.net",
            "certificateUploadDate": 1509592737,
            "domainName": "wechat.wdsm.io"
        }
    ]
}

然后就可以执行部署了:

serverless deploy

日志如下:

....................................
Serverless: Stack update finished...
Service Information
service: serverless-wechat
stage: dev
region: us-east-1
stack: serverless-wechat-dev
api keys:
  None
endpoints:
  ANY - https://e8tct5f0v2.execute-api.us-east-1.amazonaws.com/dev
  ANY - https://e8tct5f0v2.execute-api.us-east-1.amazonaws.com/dev/{proxy+}
functions:
  runserver: serverless-wechat-dev-runserver
Serverless Domain Manager Summary
Domain Name
  wechat.wdsm.io
Distribution Domain Name
  d1pp7oijqquj95.cloudfront.net

现在,你就可以使用自己定义的域名来访问了 API Gateway 了。

关于我

Github: @phodal     微博:@phodal     知乎:@phodal    

微信公众号(Phodal)

围观我的Github Idea墙, 也许,你会遇到心仪的项目

QQ技术交流群: 321689806

新书《全栈应用开发:精益实践》

这不是一本深入前端、后台、运维、设计、分析等各个领域的书籍。本书以实践的方式,将这一系列的领域及理论知识结合到一起,来帮助读者构建全栈Web 开发的知识体系,并辅以精益及敏捷的思想,来一步步开发Web 应用:从创建一个UI 原型到编写出静态的前端页面;从静态的前端页面到带后台的应用,并部署应用;从Web 后台开发API 到开发移动Web 应用。在这个过程中,我们还将介绍一些相辅相成的步骤:使用构建系统来加速Web 应用的开发;为应用添加数据分析工具来改进产品;使用分析工具来改善应用的性能;通过自动化部署来加快上线流程;从而帮助读者开发出一个真正可用的全栈 Web 应用。同时,我们也将帮助读者把这些步骤应用到现有的系统上,改进现有系统的开发流程。

Feeds

RSS / Atom

最近文章

关于作者

Phodal Huang

Developer, Consultant, Writer, Designer

ThoughtWorks 高级咨询师

工程师 / 咨询师 / 作家 / 设计学徒

开源深度爱好者

出版有《自己动手设计物联网》、《全栈应用开发:精益实践》

联系我: h@phodal.com

微信公众号: 与我沟通

标签