Azure Front Door 不在浏览器中维护自定义域

Posted

技术标签:

【中文标题】Azure Front Door 不在浏览器中维护自定义域【英文标题】:Azure Front Door Is Not Maintaining Custom Domain in Browser 【发布时间】:2020-10-01 20:13:09 【问题描述】:

Azure Front Door 中的域:www.foobar.com

Azure Web 应用:foobar-webfoobar-api

我希望能够让www.foobar.com 拉起网络应用程序foobar-web 并利用网址中的/api 访问网络应用程序foobar-api

www.foobar.com -> foobar-webwww.foobar.com/api -> foobar-api

我为每个和路由规则设置了一个后端池设置。每次我尝试导航到 www.foobar.com/api 时,浏览器中的 url 都会更改为 foobar-api.azurewebsites.net/api,但如果我导航到 www.foobar.com,则会在浏览器中维护 www.foobar.com 域的同时拉起 foobar-web 网络应用程序。

Azure Front Door 中是否有我遗漏的设置或需要在 Web 应用程序或源代码中配置的内容以维护域?

该网络应用是 C# ASP.NET Web API 2 解决方案。

提前感谢您的任何回答/建议。

【问题讨论】:

我认为我的回答是解决您问题的简单方法。我曾尝试在前门使用两个不同的 webapp,它总是有一些问题,可能需要使用其他服务,如 application gateway 【参考方案1】:

最新

API 的 API 路由规则要求您在项目中定义自己的规则。此处显示的示例只是示例代码。

我在前门的设置。

私人

经过测试,我使用虚拟应用程序来满足您的需求。

下面的截图是我的项目结构。

在部署应用之前,您需要修改.csproj 文件。一般只需要修改foobar-api项目即可,如果部署失败可以同时修改两个项目。

<PropertyGroup>
    <TargetFramework>netcoreapp3.1</TargetFramework>
    <RootNamespace>foobar_web</RootNamespace>
    <AspNetCoreHostingModel>OutOfProcess</AspNetCoreHostingModel>
    <AspNetCoreModuleName>AspNetCoreModule</AspNetCoreModuleName>
</PropertyGroup>

然后就可以部署了,我在foobar-api项目中创建test/aa

网页

虚拟应用索引

虚拟应用程序中的 API 测试

创建前门服务后,配置完成后。

网络

API

【讨论】:

谢谢@Jason Pan。这不完全是我的设置。我的设置将 web 和 api 放在单独的 web 应用程序上。 @Jared 你可以添加新的池和规则来测试它。前门可以支撑它。我也会尝试并稍后更新我的答案。 @Jared 经过我的尝试,您可以尝试使用像我这样的 webapp。多个网络应用程序存在一些问题。 docs.microsoft.com/en-us/azure/application-gateway/…

以上是关于Azure Front Door 不在浏览器中维护自定义域的主要内容,如果未能解决你的问题,请参考以下文章

Accelerate Games With Azure Front Door

Azure Front-Door - X-Azure-ClientIP 显示的是 IPV6 地址而不是 IPV4

带有无服务器 Web 应用程序的 Azure Front Door

Azure Front Door Visual Studio 远程调试

Azure Front Door - 如何滚动更新后端池?

使用 Azure Front Door 时缺少 UserId 属性的应用程序见解