问题标签 [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 投票
2 回答
106 浏览

azure - 基于 IP 范围的对来自 Azure 上不同存储帐户的其他资源的访问控制

目标是让单个地址 (static.example.com) 通过动态访问控制(基于 IP 范围)从多个存储帐户访问静态资源。

约束:

  • 内部网络用户可用的资源必须使用相同的主机名 static.example.com
  • 内部网络用户可用的资源必须存储在不同的存储帐户中

下图中突出显示的区域标记了要使用 Azure 服务(-es)的位置。问题是可以使用哪些 Azure 服务(以及如何)来实现所描述的要求?

任何帮助或建议表示赞赏。

产品和非产品访问的解决方案图

0 投票
1 回答
490 浏览

azure - 无法在 terraform 中为 FrontDoor 设置最低 TLS 版本

我正在使用 terraform 1.44。当我尝试运行它时:

它失败了

错误:“frontend_endpoint.custom_https_configuration.minimum_tls_version”:无法设置此字段

根据this GitHub issue它应该已经解决了,但是文档链接被破坏了......并且在当前文档中没有提到这个领域......

我怎样才能创建这个前端?没有设置minimum_tls_version它的错误

为前端端点启用自定义域 HTTPS 时出错:frontdoor.FrontendEndpointsClient#EnableHTTPS:发送请求失败:StatusCode=400 -- 原始错误:Code="BadRequest" Message="\"minimumTlsVersion\" 是必需参数。"

0 投票
1 回答
844 浏览

azure - Azure Front Door 中的 Brotli 压缩在没有缓存的情况下无法正常工作

我在 Azure Front Door 中有一个后端池,其中包含许多带有 IIS 10 的 VM。所有 IIS 上都安装了 Brotli 压缩扩展。当我直接点击虚拟机时,我可以验证 Brotli 压缩是否正常工作。

启用了两个路由规则,它们都指向 Front Door 中的同一个后端池。

  1. 规则一是启用缓存。这个从我的 IIS 池中获取 Brotli 标头和压缩。
  2. 规则没有启用缓存。Brotli 标头未显示在响应中,并且响应未压缩。

为什么压缩仅在启用缓存时才有效?我不想缓存Rule 2,只压缩响应。

规则 1 - Brotli 工作

在此处输入图像描述

规则 2 - Brotli 不工作

在此处输入图像描述

0 投票
1 回答
1021 浏览

azure - 指向 Azure 负载均衡器公共 IP 的 Azure 前门后端池未解析

我有一个Azure Load Balancer配置了面向互联网的公共 IP。我可以确认我可以从我的浏览器访问这个公共 IP。

我的最终目标是配置Azure Front DoorCDN,以便它使用来自负载均衡器的 IP,并且在一天结束时,我想通过 Front Door DNS 访问我的负载均衡器。

我已经创建了前门,我配置了一个后端池,选择了该选项作为类型,我从下拉列表中Public IP Address找到了负载均衡器名称,其他所有内容都保留为默认值。Public IP然后我配置 HTTP 和 HTTPS 路由规则。

我检查一切都已启用,然后我点击了Azure Front Door DNS条目。

根据常见问题解答,它应该可以工作。我不断收到以下错误:

但是,如果我使用指向相同 IP 并启用 SSL 的单独 DNS 条目 - 然后将该 DNS 条目放在 Azure Front Door(而不是 IP)中 - 然后通过 FrontDoor 访问 Web 应用程序就可以了。

任何见解表示赞赏 - 谢谢。

0 投票
1 回答
2008 浏览

azure-front-door - Azure Front Door - 403 Forbidden if there are IP Allow entries in the web app Network Restrictions List

我一直在与 Azure 支持工程师一起尝试解决这个问题,但他无法确定问题所在,所以我希望这里有人遇到过这种情况:

我们已经设置了我们的第一个 Azure 前门 - 此阶段的配置非常简单 - 后端池仅包含我们的一个 Web 应用程序(Azure 应用程序服务)和一个仅转发来自前门 URL 的所有请求的路由到 Web 应用程序 URL。

问题:我们发送的每个请求都提供了 403 禁止错误。

我所做并确定的:

Azure Web 应用具有网络安全限制,仅允许某些 IP 地址访问 URL。我的 IP 地址是列表的一部分,如果我直接访问 Web 应用程序 URL ,一切都会按预期工作。如果我尝试访问 Front Door URL,我会收到 403 Forbidden 错误。

作为测试,我设置了第二个没有 IP 限制的 Azure Web 应用程序,并将其添加到 Front Door 的后端池中。我可以毫无问题地通过前门访问该站点。但是,只要我在网络限制列表中添加了一个允许条目(在本例中为我的 IP 地址),我在转到 Front Door URL 时就会收到 403 错误。

作为另一项测试,我什至将 0.0.0.0 添加到 IP 限制列表以允许全部 - 即使这样,在尝试访问前门 URL 时仍然会收到 403 错误。在所有测试用例中,我都可以直接访问 Web 应用程序 URL 而不会出现任何错误。

我还完全禁用了 Front Door WAF,以确保其中没有任何内容导致 403 错误。同样的事情 - 403 无论如何点击前门 URL。

最后 - 我在每次测试之间对 Front Door 缓存进行清除,以确保没有任何东西被捕获。

这似乎是 Front Door 和在 IP 限制中有任何条目的 Web 应用程序可能存在的错误?这对我来说会非常令人困惑,因为我们不能期望我们在没有 IP 限制的情况下让我们的非面向公众的网络应用程序 URL 对网络开放?有没有人经历过并解决了这个问题?

编辑 1:Azure 支持工程师为我提供了 Front Door 服务的 IP 地址,以添加到 Web 应用程序的允许列表中。我添加了,但仍然没有运气 - 只有 403。似乎如果该网络限制列表中有任何内容,前门无法按预期工作。

编辑 2:似乎我的 Allow All 条目不正确 - 我将其设置为 0.0.0.0/32。将其更改为 0.0.0.0/0 后,我可以通过 Front Door 访问 Web 应用程序。因此,我对列表中的任何条目(包括 Allow All 导致 403 错误)的初步评估是不正确的。正确的评估是列表中除 0.0.0.0 以外的任何条目甚至是我自己的 IP 地址)都会导致 403 错误。所以主要问题仍然存在 - 我们如何通过 IP 限制保护我们的 Web 应用程序并仍然使用 Azure Front Door?

0 投票
1 回答
398 浏览

azure-front-door - Azure Front Door - 路由重定向返回 405 Method Not Allowed,但仅在通过 Front Door 时

尝试使用我们的 Azure Front Door 进行以下路由:

假设 Front Door URL 是https://foo.azurefd.net,后端池包含一个带有 URL https://foowebapp.azurewebsites.net的 Azure Web 应用程序。

我创建了一个路由规则,如下所示:

用户通过POST: https://foo.azurefd.net/api/token/12345

我希望将其定向到POST: https://foowebapp.azurewebsites.net/api/token

我使用重定向路由类型创建了规则。问题是通过前门传递时我得到一个 405 Method Not Allowed。如果我直接传递到https://foowebapp.azurewebsites.net/api/token端点,我会得到预期的响应。

为什么会发生这种情况,我需要调整 Front Door 中的其他设置吗?

编辑:我现在可以在分析流量时看到 Front Door在重定向期间将方法从POST更改为 。GET这就是我收到 405 Method Not Allowed 错误的原因。但我不明白为什么 Front Door 会将其从 a 更改POSTGET。一切都设置为HTTPSonly。我已经通过 Azure 支持提出了这个问题,但不确定我是否期望他们提供很多帮助。

0 投票
1 回答
490 浏览

azure - Azure FrontDoor 后端详细信息添加到现有 FrontDoor 问题

我执行了以下操作并能够创建 FrontDoor rnd-test。

现在,我正在尝试在现有的 FrontDoor 下创建一个后端池。

0 投票
1 回答
309 浏览

azure - 如何使用 powershell 脚本将新的后端池添加到现有的 azure Front Door

我尝试了下面的代码,但它没有将新的后端池添加到现有的前门。

0 投票
1 回答
296 浏览

azure - 使用 Azure 前门时缺少 UserId 属性的应用程序见解

我的 .NET 核心 API 的几乎所有请求遥测都缺少该UserId属性。我有一个 Angular SPA 通过 Azure Front Door 向我的 API 发出 HTTP 请求。唯一具有UserId属性的请求遥测是未通过 Azure 前门的流量。准确地说:它是 SignalR 直接对 API 的请求。我有一种感觉,我们的 Angular 应用程序将遥测传递给我们的 Application Insights(仅用于前端),而在我们的其他 Application Insights(仅用于后端)中,事情似乎并没有对齐。前端的依赖遥测与后端接收的请求遥测的 URL 不同。Azure Front Door 设置为转发请求,因此它会将收到的请求再次发送到正确的目的地。

UserId后端缺少属性的 HTTP 请求示意图:

UserId后端包含属性的 HTTP 请求示意图:

我查看了请求标头,但没有看到 aUserId已传递到那里的迹象,并且对于前门或直接到我的 API 的请求实际上是相同的(主机名是那里的最大区别)。我认为前门使用与获取请求相同的标头来执行请求。

首先,我的假设是否正确?前端依赖跟踪的 URL 是否与后端接收的 URL 不同?如果是这样,我该怎么办?我想使用UserId特定用户在遇到问题之前执行的故障排除操作(“此用户会话的所有可用遥测”功能)。

0 投票
0 回答
1487 浏览

c# - 使用 HttpClient 连接到 Azure Frontdoor 时,获取“现有连接被远程主机强制关闭”

我们有一些 .NET 代码调用位于Azure Frontdoor后面的 Azure 网站。该代码使用 HttpClient 以非常直接的方式进行调用。通过 Azure Frontdoor 调用我们的站点时,我们开始收到以下错误。

现有连接被远程主机强行关闭

  • .NET Framework 4.6、.NET Framework 4.7 和 .NET Core 3.1 会发生这种情况。
  • 实际的 Frontdoor 站点名称无关紧要。任何以结尾的东西都会xxxx.azurefd.net产生这个错误。
  • 相同的代码可以直接访问应用程序而不会出现问题。
  • 我可以在不同的 Windows 机器上复制这个错误。我的笔记本电脑运行的是 Windows 10。我们还在 Windows Server 2012 和其他运行 Windows 10 的机器上看到了这种行为。这些是有时在代理后面运行的公司计算机,但即使不在防火墙/代理后面,它们仍然会产生错误。
  • 我们怀疑这是某种与 TLS 相关的错误,因为如果您不使用自定义域,Azure Frontdoor 仅支持 TLS1.2,但显式添加 TLS12 似乎根本没有帮助。

以下代码会产生问题。

提前致谢。