我可以将子域直接指向 AWS 中的 API 端点吗?

Can I point a subdomain directly to an API endpiont in AWS?

我的其余 API(节点)设置在负载均衡器后面的 AWS ECS 中 - super-long-aws-lb-url

我还为我的后端注册了一个域和一个子域,它被设置为负载均衡器的别名 A 记录;我在类似 data.mydomain.com/api/resource/{:id} 的地方访问我的休息 API - 这按预期工作。

有一个端点用作访问用户生成内容的反向代理 - 它是 public,目前我可以通过 data.mydomain.com/api/content/public/{:id}

我想做的是为 route53 中的那个端点创建一个“漂亮的”url,这样 public 端点就可以通过 content.mydomain.com/{:content-id}

到目前为止,我已经尝试将此子域设置为 CNAME,直接指向由 ALB URL + endpoint

组成的字符串值

content.mydomain.com -> super-long-aws-lb-url/api/content/public/

我希望这将允许我在 http://content.mydomain.com/{:content-id} 访问该内容,但我收到“未找到服务器”错误

接下来,我尝试将其设置为带有别名的 A-Record,但由于它需要具有 IP 地址的资源,我不得不从下拉列表中 select AWS 资源,然后我我回到使用负载平衡器而不绕过全局前缀 (api) 和资源 URL (content/public)

有没有办法将子域直接指向 AWS 中的 API 端点?

Amazon Route 53 是一种域名服务 (DNS)。

DNS 用于将域名(例如 data.mydomain.com)解析为 IP 地址,从而允许将流量发送到特定计算机。

DNS 覆盖域名。它不包含斜线后的任何内容。

因此,您不能使用 Amazon Route 53 指向一个 'path'(例如 /api/content/public/)。

这种重定向是目标计算机上任何软件 运行 的工作。您可能 在您的 Web 服务器软件中配置它