在没有无服务器域管理器的情况下将自定义域添加到 API 网关

Add custom domain to API gateway without serverless-domain-manager

我想使用无服务器框架向 API 网关添加自定义域,但不使用“无服务器域管理器”或任何其他插件。我正在寻找一种更原生的方式,可能会在“serverless.yml”

中扩展资源

所有文章都建议使用该插件,但它并不是多环境管道的最佳选择

https://www.serverless.com/blog/serverless-api-gateway-domain/

手动操作并没有那么复杂,这里是完整的解释

向所有环境添加自定义域

  1. 在无服务器项目的同一区域为域颁发证书,在我的例子中us-east-2
  2. 转到 API Gateway > Custom domain names > Create,如果使用 HTTP API,请使用 Regional 端点类型
  3. 在创建的域中有 API Gateway domain name,您需要将 CNAME 记录指向它
  4. 最后转到 API mappings 并创建映射,在我的例子中 mainprod 阶段为 $default

API 带有自定义域的网关被配置为使用 TLS 1.2,它支持一些弱密码。这些弱密码已在 TLS 1.3 中删除,目前仅在 CloudFront 发行版中受支持。 在对这些 API 进行安全测试时,AppScan 等一些安全工具向我提出了这些问题。 您可以在此处查看详细信息。

https://security.stackexchange.com/questions/254667/are-weak-cipher-suites-for-tls1-2-a-valid-concern

如果考虑到安全性,我建议在 API 网关前使用云前端分发。

https://aws.amazon.com/premiumsupport/knowledge-center/api-gateway-cloudfront-distribution/