另一个 ASP.Net MVC 项目下的子域 ASP.Net API 项目
Subdomain ASP.Net API project under another ASP.Net MVC project
我正在构建 website/API。我有两个 ASP.Net Core 3.1 项目:
- MyProject.Site
- MyProject.Api
它们都作为应用服务托管在 Azure 中:
myproject.api.azurewebsites.net
myproject.site.azurewebsites.net
最后 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。你将获得
- Map a subdomain (for example, www.contoso.com) 通过使用
CNAME
记录
- Map a root domain(例如,contoso.com)通过使用
A
记录
我正在构建 website/API。我有两个 ASP.Net Core 3.1 项目:
- MyProject.Site
- MyProject.Api
它们都作为应用服务托管在 Azure 中:
myproject.api.azurewebsites.net
myproject.site.azurewebsites.net
最后 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。你将获得
- Map a subdomain (for example, www.contoso.com) 通过使用
CNAME
记录 - Map a root domain(例如,contoso.com)通过使用
A
记录