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”错误信息
提供了无效的请求 URI。请求 URI 必须是绝对 URI 或必须设置 BaseAddress