问题标签 [azure-front-door]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
792 浏览

asp.net-core - 使用 FrontDoor 的 Azure AD redirect_uri 身份验证不正确

我将 Azure FrontDoor 设置为在端口 5443 上运行的容器和自定义域之间的反向代理/负载均衡器。这样做的目的是为用户提供标准地址。即 container.azurecontainer.io:3443 被https://oursite3.example.com指向。

同一个 aci 正在运行多个容器:

(第 116 行:构建重定向Uri

然后,我们在不同区域全球部署了多个 aci(因此使用 Frontdoor 在不同实例之间进行负载平衡)。

在此示例中,container.azurecontainer.io:3443 上安装了 MS AD 身份验证。单击链接时,用户会重定向到登录并生成链接并将浏览器重定向到该链接。该链接中有redirect_uri。类似于:https ://login.microsoftonline.com/00000000-0000-0000-0000-000000000001/oauth2/authorize?client_id=00000000-0000-0000-0000-000000000002&redirect_uri=https%3A%2F%2Foursite3.example.com %3A3443%2Fsignin-oidc&response_type=id_token&scope=openid%20profile&response_mode=form_post&nonce=jkalksdfj alskdjflkjalksdfjalkjA&x-client-SKU=ID_NETSTANDARD2_0&x-client-ver=5.5.0.0

但是,在登录时,用户会在网站上获得以下信息:

AADSTS50011:请求中指定的回复 URL 与为应用程序配置的回复 URL 不匹配:'00000000-0000-0000-0000-000000000003'

原因是 AD 应用的回复 url 设置为:

但是,仔细检查后,用户被重定向到用于登录的 url 将其作为redirect_uri 包含在内:

即端口 5443 已添加到主机名的末尾。

本质上,它包括了 redirect_uri 中的底层原始端口,我不希望它这样做。

我已经尝试在我们的站点中使用 ForwardedOptions。例如,我们的 startup.cs 文件中包含以下内容(ConfigureServices):

其次是(配置):

这不能解决问题。

我已经查看了是否可以通过查看此处来覆盖设置为 redirect_uri 的值:https ://github.com/dotnet/aspnetcore/blob/b7e122fbac4207b003dc07f6101e50218be8ff21/src/Security/Authentication/Core/src/AuthenticationHandler 。CS

我也试过这个:https ://docs.microsoft.com/en-us/aspnet/core/host-and-deploy/proxy-load-balancer?view=aspnetcore-3.1#troubleshoot

和这个:

https://docs.microsoft.com/en-us/aspnet/core/host-and-deploy/proxy-load-balancer?view=aspnetcore-3.1#nginx-configuration

有谁知道还有什么问题?

谢谢

0 投票
1 回答
437 浏览

azure - Azure 存储容器和来自通配符根域的路由

我在 Azure 中有一个存储帐户,其中包含一个名为 clients 的容器。在容器内,我有各种客户的文件夹,即:

我也将自己的网站设置为静态网站,即:

最重要的是,我有一个自定义域:mysite.com. 是否可以使用 Azure CDN 或 Azure 前门/应用程序网关像这样路由流量(以不需要每个客户端进一步配置的方式):

one.mysite.com->mysite.blob.core.windows.net/clients/one

two.mysite.com->mysite.blob.core.windows.net/clients/two

mysite.com->mysite.z33.web.core.windows.net

到目前为止,我已经尝试使用 Azure CDN 执行此操作,但我认为这是不可能的,它有一个看起来非常灵活的规则引擎,但我认为它们不支持通配符域,除非我(希望)错了。理想情况下,我希望它以某种通配符方式完成,这就是地图:

<client>.mysite.com->mysite.blob.core.windows.net/clients/<client>

我真的不想每次有新客户端时都必须添加更多规则或配置。

0 投票
0 回答
150 浏览

azure - Azure 中的负载平衡 - 子域和 SignalR

我正在创建一个具有以下结构的标准多租户站点:

  • 例子.com
  • 租户1.example.com
  • 租户2.example.com

托管是 Azure Web 应用程序。租户是动态生成的(可能有很多),并且站点包含实时组件,因此使用 Azure SignalR。该站点将具有通配符 SSL/TLS 证书以启用子域结构。

与其直接访问某个区域的应用程序服务,我更愿意在其前面放置一个负载均衡器,并将流量路由到区域集群,甚至可能是大型客户端的隔离实例。拥有这些东西内置的 DDOS 保护也是一件好事。

Azure Front Door是我的第一次调查,它可以处理通配符证书,但不支持 SignalR

应用程序网关是我的下一个调查,它可以处理 SignalR,但不支持通配符证书

就 DDOS 攻击而言,我们似乎可以直接在 Web 应用程序上启用某种形式的保护。但是,对我来说,这似乎会抑制攻击而不是提供(低成本)保护,因为我相信负载均衡器会。

请问这种情况如何负载均衡?

0 投票
1 回答
31 浏览

spring-boot - 通过 Azure 上的 Spring Controller 下载异步 servlet pdf

我有一个 Spring MVC 控制器,它通过异步 servlet 为应用程序/pdf 提供服务,允许我在响应主体等待服务器端以等待内部服务返回 pdf 的字节 [] 时立即刷新输出流响应头类型“application/pdf”。没有分块。

我的观察是在 azure web 应用程序之外运行它(使用 gradle bootRun 或 weblogic)我让 Chrome 显示正在进行的 pdf 下载立即证明标题刷新工作。当相同的代码在 azure web 应用程序下运行时,下载工作但 Chrome 没有显示下载正在进行,这表明 azure 没有刷新响应标头。使用 azure front door 时情况更糟,因为它不会刷新,并且在给出 503 之前它也将响应限制为 30 秒。

我很难过,所以非常感谢任何帮助,如果需要,我可以提供代码。

蚂蚁

0 投票
1 回答
1146 浏览

azure - Azure Front Door 在重定向中保留自定义 URL

我已将自定义 URL(假设为 contoso.com)配置到 Azure Front Door 并将其路由到应用服务 (contoso.azurewebsites.net)。现在,当客户导航到https://contoso.com时,前门会将用户重定向到 contoso.azurewebsites.net,这是正确的,但浏览器中的 URL 会更改为 contoso.azurewebsites.net。是否可以将 Front Door 配置为保留原始 URL (contoso.com),或者我是否需要在应用服务中添加一些配置?

0 投票
2 回答
416 浏览

azure - Disable AFD Backend Pool's Backend Host with Azure Cli or Azure REST API

Im trying to update an existing backend host of a AFD backend pool to have its status from Enabled to Disabled.

Is there a way to update existing backend host of Front Door backend pools?

currently, i can only see add, list and remove in the following azure front door cli docs:

  • az network front-door backend-pool backend add
  • az network front-door backend-pool backend list
  • az network front-door backend-pool backend remove

Is there one for update?

I've also looked into the Azure REST API docs and have not found an endpoint to update a backend host of AFD backend pools.

azure front door update backend

0 投票
1 回答
1065 浏览

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

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

Azure Web 应用程序:
foobar-web
foobar-api

我希望能够www.foobar.com打开网络应用程序foobar-web/api在 url 中使用来访问网络应用程序foobar-api

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

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

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

Web 应用程序是 C# ASP.NET Web API 2 解决方案。

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

0 投票
1 回答
4922 浏览

azure - Azure API Management 提供的 API 网关和 Azure 应用程序网关有什么区别?

我是 Azure 的新手,我浏览了 Azure 官方文档。

  • 我想了解的是 Azure API Management 提供的 API Gateway 和 Azure Application Gateway 的区别和相似之处?

  • 我们什么时候需要应用程序网关在 API 网关前面(由 API 管理提供)?

    • 当 API Gateway 正常托管时。
    • 当 API 网关托管在 VNet 中时。
  • 我们什么时候需要在应用程序网关前面使用 Azure Front Door?

  • 我们是否需要在什么情况下链接 Azure Front Door --> Application Gateway --> API Gateway,而不是我们不能在哪个情况下这样做 Azure Front Door --> API Gateway,如果是的话?

我想根据以下两个计算解决方案了解上述问题的解决方案:

  • 当我的 API 托管在容器中时。
  • 当我的 API 仅由 Azure Functions 组成时。
0 投票
2 回答
535 浏览

azure-web-app-service - 如何配置 Web 应用程序使其无法直接访问?

本质上,只允许向/来自 Azure Front Door 的请求/响应。有不同的选择,但是,我无法找到有关实施和最佳实践的详细信息。我认为正确的解决方案是创建一个虚拟网络来集成这两种服务。

存在一个细微差别,Web 应用程序有暂存槽,可能需要不同的解决方案,因为它们使用 Azure Active Directory 来阻止公众访问预生产。

我在这里找到了更多的见解,但仍然觉得有点混乱。

似乎如果我有一个带有 Front Door 子域的自定义域,应该有一种简单的方法来防止直接访问 Web 应用程序的后端地址,并且只允许通过自定义 DNS 和 Front Door。

这很有帮助,但是,我仍然从 Front Door 获得 403,所以我必须在如何配置方面遗漏一些东西。

中间件?这也很有帮助,但似乎表明它只能通过中间件来完成,而且我运行的是 Node/Express 而不是 .NET Core。是真的,只能通过中间件代码来完成吗?

也提到了相同的细节。

什么不见​​了?如何跨不同的应用程序堆栈进行配置。

0 投票
1 回答
181 浏览

azure - Azure - 自动将新的 Appservice 添加到 Frontdoor

我们通过不同管道中的 Azure Devops 在 Azure 中部署了许多 Appservices。对于每个 Appservice,我们部署一个西欧和北欧实例。我们希望将它们自动添加到带有前端域的 Azure Fontdoor(使用 ARM 模板)。我们有 ARM 模板(Microsoft 提供的默认模板),但该模板不是增量的。因此,当我们添加一个时,所有已配置的将消失。

知道如何在没有可用应用服务的完整列表的情况下将应用服务一一添加到 Frontdoor 吗?