Azure 前门:请求 URI 无效

Posted

技术标签:

【中文标题】Azure 前门:请求 URI 无效【英文标题】:Azure frontdoor: The request URI is invalid 【发布时间】:2020-06-16 21:02:17 【问题描述】:

我正在尝试使用 azure frontdoor 访问在 kubernetes 集群中运行的 nginx

我可以访问公共 IP 上的 nginx 实例,但是当尝试通过 azure front door 时,我收到“请求 URI 无效”错误。

健康探测似乎也失败了,即使我没有更改任何设置并且可以通过公共 IP 访问 nginx。

查看后端可用的时间,我没有看到对后端的任何请求:

我已经设置了这样的转发规则:

编辑:

我在访问 www.1234h.azurefd.net 时似乎收到了不同的错误消息,而不是 1234h.azurefd.net(没有 www)。

没有 www 给出“请求 URI 无效”,而带有 www 的那个给出“我们的服务现在不可用”。

【问题讨论】:

【参考方案1】:

我猜这是 azure 中的一个问题。

部分修复是:

等待几个小时 将 Web 应用添加到后端,并更改路由规则 大约 10 分钟后,http 域开始工作(仍然没有 https) 将转发规则改回 kubernetes(不更改后端)提供了 http 访问权限。

我猜这些步骤是不需要的,但问题在我执行这些步骤的同时得到解决。

如果我在不更改任何设置的情况下获得 https 访问权限,我将报告确认这是否是 azure 中的问题,而不是我的设置问题。

让我相信这是一个天蓝色问题的其他症状:

有几个小时我的连接尝试未在指标中注册 http 神奇地工作后,我在后端图表中看到我的请求对前端请求进行数学运算 日志记录无法正常工作(我看到“无法解析名为 'AzureActivity' 的表或列表达式”,即使该列显示在表概述中)

编辑: 在我写这个答案时,Https 开始工作。 同样,我没有改变任何东西。

【讨论】:

你有没有弄清楚这里发生了什么?听起来更像是传播问题?谢谢 是的,我认为这是一个传播问题。在这个时候对 azure 更有经验,我不时看到随机传播问题。我也看到了 azure front door 的其他传播问题。当我注册一个新域时,我首先将 afdverify.example.com 指向 afdverify.myfrontdoor.azurefd.com,并在我将 example.com 指向 myfrontdoor.azurefd.net 的前一天设置 azure frontdoor。您可以通过在更改 DNS 之前更改主机文件来测试 AFD 设置(和 SSL) 感谢您的信息。【参考方案2】:

仅当通过 HTTPS 访问 FD 时,我才收到“请求 URI 无效”。它适用于 HTTP。

我的 FD 路由规则是这样配置的:

但鉴于我不关心 HTTP,我只是将我的应用服务配置为“仅限 HTTPS”,然后一切就开始工作了:

【讨论】:

以上是关于Azure 前门:请求 URI 无效的主要内容,如果未能解决你的问题,请参考以下文章

到 API-M 的 Azure 前门路由返回“DNSNameNotResolved”错误信息

在 Azure 前门服务上配置 WAF

提供了无效的请求 URI。请求 URI 必须是绝对 URI 或必须设置 BaseAddress

提供了无效的请求URI。 (堆栈跟踪中没有有用的信息)

“请求中的 URI 无效”尝试代理 iframe 内容以进行本地调试

Azure AD B2C:请求中的重定向 URI 与授权给 OAuth 客户端的不匹配