问题标签 [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.
azure - Azure 前端门显示“我们的服务现在不可用”与服务结构集群
我已经在 azure 门户中设置了 Azure Frontdoor。我创建了
2 前端主机
- myappdev1.azurefd.net
- dev1.myapp.com
Baackendpool 具有以下功能
1.BackendHostName=myappdev1.northeurope.cloudapp.azure.com 2.Backendhostheader=dev1.myapp.com 3.HTTPS 端口 62652
和路由规则
使用 https 路由规则,仅使用 HTTPS 将前端映射到后端。myappdev1.northeurope.cloudapp.azure.com 是一个服务结构集群,其 Web 应用程序部署在端口 62652 上,因此 URL https://myappdev1.northeurope.cloudapp.azure.com:62652有效。
我还在 CDN 中将 dev1.myapp.com 映射到 myappdev1.azurefd.net
但是在运行 https://myappdev1.azurefd.net或https://dev1.myapp.com
我收到一个错误
我们的服务目前不可用 我们正在努力尽快恢复所有服务。请稍后再回来查看。
asp.net - Azure 前门 WAF 正在阻止 .AspNet.ApplicationCookie
我想知道是否有其他人遇到过 Azure Front Door 和 Azure Web 应用程序防火墙的问题并有解决方案。
WAF 正在阻止对我们的 ASP.NET Web 应用程序的简单 GET 请求。被触发的规则是DefaultRuleSet-1.0-SQLI-942440 SQL Comment Sequence Detected。
根据这个截断的示例,我可以找到 sql 注释序列的唯一位置是 .AspNet.ApplicationCookie:RZI5CL3Uk8cJjmX3B8S-q0ou--OO--bctU5sx8FhazvyvfAH7wH。如果我删除 cookie 值中的 2 个破折号“--”,则请求成功通过防火墙。一旦我将它们添加回来,请求就会被相同的防火墙规则阻止。
看来我有两个选择。禁用我不想执行的规则(或将其从 Block 更改为 Log),或更改 .AspNet.ApplicationCookie 值以确保它不包含任何会触发防火墙规则的文本。cookie 由 Microsoft.Owin.Security.Cookies 库生成,我不确定是否可以更改它的生成方式。
azure - 在一个 Azure Front Door 后面设置多个 Web 应用
我有两个应用服务,WebApp1 和 WebApp2,它们使用多区域架构。
在区域 1:
- WebApp1
- WebApp2
在区域 2:
- WebApp1
- WebApp2
建筑学:
这两个 Web 应用程序完全独立且彼此独立(但共享相同的数据库),并且都将拥有自己的自定义域。应该向最终用户公开的 URL 是这样的。
- WebApp1 -- www.webapp1.com
- WebApp2 -- www.webapp2.com
我已经检查过了,但这不符合我的要求。这两个应用程序需要部署为独立的应用程序,而不是虚拟应用程序(如果这不是唯一的方法)。
我不想为此使用多个 AFD?是否可以使用单个 AFD 来满足我的要求?任何建议将不胜感激。
microservices - 使用微服务设置 Azure Front Door 运行状况检查
我有一个包含多个微服务的服务结构集群,我想设置 Azure 前门,但是它要求在后端提供一个运行状况检查端点,但我不知道我应该如何设置它,因为集群没有有一个端点。
谁能指出我正确的方向?
azure-front-door - Azure Front Door - 配置维护页面
我得到了带有 1 个 FE 网络应用程序的 AFD。我想添加另一个包含维护/抱歉页面的 Web 应用程序。所有来自 FE 的 URL 都需要缓存,抱歉页面图片不能缓存。
我试图将我的抱歉页面 Web 应用程序添加到具有低优先级和权重的同一后端池中。当我关闭 FE 时,它会重定向到抱歉页面 Web 应用程序,但它会缓存内容。
据我了解,我不能使用另一个后端池(禁用缓存),因为 2 个池无法连接到同一个 AFD FE 端点。
任何想法如何将维护页面 Web 应用程序添加到 AFD?提前致谢。
azure - Azure Frontdoor:缓存作为后端的后备
在我们的一个用例中,我们正在寻找一种方法让 Azure Frontdoor 提供缓存的内容,但前提是相应的后端已关闭。后端 URL 路径是固定的(因此没有动态查询参数等)并且大部分时间返回静态 html 内容,但每隔几分钟就会发生不频繁的内容更新。我们希望 Frontdoor 一直从后端获取响应,同时缓存最后一个响应,并在后端发生故障时提供相同的服务。因此,缓存的内容被用作后端的故障转移机制,其中返回的缓存内容可能不是最新的,但仍会为请求提供一些陈旧的内容。Frontdoor 是否可以配置为服务于这样的用例。
azure - Azure FrontDoor 配置中的根域
我正在尝试在 Azure FrontDoor 中为我的网站 (myrootdomain.eu) 的 Apex/根域设置路由。
参考:https ://docs.microsoft.com/en-us/azure/frontdoor/front-door-how-to-onboard-apex-domain
@.myrootdomain.eu
在 Azure DNS 中针对作为 FrontDoor 的 Azure 资源创建别名记录。一个 CNAME 是这样创建的:afdverify.myrootdomain.eu
当我尝试将自定义域(myrootdomain.eu
)添加到 FrontDoor 的前端主机中时,它给出了错误 CNAME 记录未找到。这里需要什么额外的步骤。在我的 DNS 123 域或此域的前门中是否有任何设置或映射:afdverify.myrootdomain.eu
裸域(myrootdomain.eu)的域提供程序(在我的情况下为 123domain)中的映射应该是什么?
在参考文档中找不到任何关于此的内容。
azure - 使用 Azure Front Door 将静态文件请求路由到 Blob 存储
我们有一个网站,其中前端是托管在 Azure Blob 存储中的 SPA,后端托管在 Azure 应用服务中。该站点的前面将是 Azure Front Door。我正在尝试将请求路由到正确的后端。
应用服务中托管的站点中的所有终结点都具有 /backend/* 格式。
在前端,我们在根目录中有一些文件,/index.html 和一些其他文件,如 favoicon.ico,然后是 /assets 文件夹中的一些文件。这些唯一的共同点是它们在文件名中有一个句点。
SPA 具有不对应于任何物理文件的动态 url,例如 /login。
我想要 Front Door 中的以下路由,但我在为/*.*
模式创建规则时遇到问题,即将看起来像文件的所有内容路由到 blob 存储而无需重写 url。
还有其他方法可以完成这项工作吗?
c# - 向最终用户提供 Asp.Net Core 健康信息的最佳方式是什么?
语境
我正在寻找一种方法来告诉我的用户我的 Asp.Net Core 站点的一个依赖项已关闭,因此该站点当前不可用。最好使用错误页面。
Asp.Net Core 提供了健康检查功能来管理依赖健康检查的逻辑,但它只提供了一个用于负载平衡器的端点。还有一种仪表板功能可用于健康检查,但这并不意味着最终用户的错误页面,它是针对管理员的。
我为什么要研究这个功能?
我正在使用 Azure 前门。该产品用作负载平衡器。它可以查看 Asp.Net Core 健康检查提供的健康状态端点,并将不健康的后端节点排除在轮换之外。
但是,它不提供自定义错误页面,并且在所有后端节点都关闭的情况下,它将假定所有节点都是健康的。我的站点的依赖项之一是外部服务,如果它关闭,我的站点的所有实例都将关闭。它包含例如用户与我的站点交互所需的用户帐户。因此,我相信我需要在 Asp.Net Core 站点中实现一个错误页面,当该外部依赖项关闭时,该页面将显示一个错误页面。
建议的解决方案
我的一个想法是让中间件在站点降级时始终返回503 Service Unavailable
或抛出异常。然后,Asp.Net Core 状态页面功能可以将其转换为适当的错误页面。
问题 1
这是最好的架构吗?其他人是如何做到这一点的?
问题2
访问当前健康状况的最实用方法是什么?
从技术上讲,可以HealthCheckService.CheckHealthAsync(...)
直接调用该方法,但等待该方法需要一些时间(特别是如果其中一个依赖服务没有响应)。因此,在请求管道中进行阻塞并不是一个好主意。
我可以使用 aHealth Check Publisher
通过将其发布到某个自定义HealthStatusCache
服务来缓存健康状态,但感觉有点像一种解决方法。其他人会这样做吗?