另一个 ASP.Net MVC 项目下的子域 ASP.Net API 项目

Subdomain ASP.Net API project under another ASP.Net MVC project

我正在构建 website/API。我有两个 ASP.Net Core 3.1 项目:

它们都作为应用服务托管在 Azure 中:

最后 myproject.site.azurewebsites.net 映射到我的自定义域 https://myproject.com

我想做的是将 https://api.myproject.com 设置为解析为 myproject.api.azurewebsites.net,但现在我已经将主域链接到网站。

我在我的域名注册商那里有 api 的 A 记录,但我注意到在 Azure 中,这两个应用程序服务在 自定义域 下列出了相同的 IP 地址窗格。 (我希望他们有不同的 IP,因为他们是不同的站点。)

当我在域注册商处设置子域时,它要求一个目录,我假设它类似于 /api 以指示 https://api.myproject.com 将重新路由到 https://myproject.com/api.但这是否意味着我需要通过站点项目上的 /api 路径公开我的 API 项目?

我是域和基本基础设施方面的新手,因此非常感谢对解决方案的解释。

(我本来也考虑过把API和site放在同一个项目里,这样应该就不会出现这个问题了,但很快发现需要不同的认证方式,所以我将它们拆分以满足此要求。)

正如@SmithMart 的评论,您只需要为 api 子域创建一条 CNAME 记录,该记录指向域管理中的另一个应用程序服务 myproject.api.azurewebsites.net

您不必担心目录,DNS 会帮助将名称 api.myproject.com 解析为您的真实站点 myproject.api.azurewebsites.net

您可以关注Tutorial: Map an existing custom DNS name to Azure App Service。你将获得