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

新书《前端架构:从入门到微前端》

《前端架构:从入门到微前端》是一本围绕前端架构的实施手册,从基础的架构规范,到如何设计前端架构,再到采用微前端架构拆分复杂的前端应用。本书通过系统地介绍前端架构世界的方方面面,来帮助前端工程师更好地进行系统设计。

前端架构包含以下五部分内容:

  • 设计:讲述了架构设计的模式,以及设计和制定前端工作流。
  • 基础:通过深入构建系统、单页面应用原理、前端知识体系等,来构建出完整的前端应用架构体系。
  • 实施:通过与代码结构的方式,介绍如何在企业级应用中实施组件化架构、设计系统和前后端分离架构。
  • 微前端:引入6种微前端的概念,以及如何划分、设计微前端应用,并展示了如何实现这6种微前端架构。
  • 演进:提出更新、迁移、重构、重写、重新架构等架构演进方式,来帮助开发人员更好地设计演进式架构。

Feeds

RSS / Atom

最近文章

关于作者

Phodal Huang

Developer, Consultant, Writer, Designer

ThoughtWorks 高级咨询师

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

开源深度爱好者

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

联系我: h@phodal.com

微信公众号: 与我沟通

标签