【问题标题】:How to setup custom subdomain for AWS lambda function如何为 AWS lambda 函数设置自定义子域
【发布时间】:2022-09-24 23:39:43
【问题描述】:

到目前为止我已采取的步骤:

  1. 我已经部署了一个 lambda 函数,它让我到达了这个端点 https://############.amazonaws.com/dev/{action}(使用无服务器)
  2. 我已经使用 AWS Certificate Manager 为我的子域设置了证书。在我的域名提供商处将 CNAME 名称和值添加到我的 DNS 信息中,并在一段时间后颁发证书。
  3. 我已设置 AWS API Gateway -> 自定义域名 -> 添加了我的子域并添加了 API 映射。
  4. 现在我被卡住了,我尝试了几件事:

    A. 我的域提供商的 DNS 设置:使用 \"cname\" 将我的子域指向 lambda 函数的端点。

    B. 查看 AWS Route 53 并尝试了几种组合...添加域和子域/直接添加子域并尝试在我的域提供商处将我的子域的 dns 设置设置为“aws route 53”并记录/cname/ips/txt等...

    标签: amazon-web-services aws-lambda dns subdomain


    【解决方案1】:

    要将自定义域名分配给 API 网关,您应该分配别名记录。看这里https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-to-api-gateway.html

    但是根据您所写的内容,我不确定您是使用连接的 API 网关创建 Lambda 函数还是使用函数 URL 创建 Lambda。差异在这里得到了很好的定义https://www.serverless.com/blog/aws-lambda-function-urls-with-serverless-framework

    【讨论】:

    • 谢谢约翰,我没有使用函数 URL,但你提出来很好。我在 Route53 创建了自定义域。我现在唯一的问题是我应该将我的 A 记录或 CNAME 从我的域名提供商那里指向哪里?
    • 我不知道你为什么叫我约翰,但让我们一起去吧。别名记录是 AWS 的一个抽象概念,它不容易映射到标准 DNS。一些提供商,如 namecheap,支持它,但不是全部。您可能必须将您的域迁移到 AWS。 namecheap.com/support/knowledgebase/article.aspx/10128/2237/… 对于标准 DNS,您可以在 ALB 路由到 lambda 之前使用具有静态 IP 的网络负载均衡器。但这很复杂
    • 我很抱歉,Karjan,在您的回答上方显示了另一个名字(在我的结尾)“John Rotenstein”我想我现在对它有了更好的理解,为什么它对我不起作用。尽管从技术上讲,对我来说没有意义的是为什么你不能这样做:mybelovedsubdomain.example.com NS ns-648.awsdns-17.net.;ns-1206.awsdns-22.org .;ns-200.awsdns-25.com.;ns-2009.awsdns-59.co.uk。一些方法...或 CNAME / A 记录...谢谢
    • 因为 A 或 CNAME 必须指向一个 IP。 ALIAS 记录旨在解决这个问题,并使用动态范围的 IP 地址。而且Api Gateway 不能提供静态IP
    • CNAME has to point to an IP. 绝对不是真的,事实上恰恰相反。问题是 CNAME 不能存在于顶点。各种供应商已经添加了专有和非标准记录来解决这个问题。
    猜你喜欢
    • 1970-01-01
    • 2017-10-01
    • 1970-01-01
    • 2022-11-03
    • 1970-01-01
    • 2021-07-27
    • 1970-01-01
    • 2021-08-04
    • 2017-12-17
    相关资源
    最近更新 更多