Azure 流量管理器显示端点已降级,但它们 return 200

Azure Traffic Manager shows endpoints degraded but they return 200

类似于this question,但我认为它不适用于我的情况。

我总共有两个端点都显示 "Degraded."

的状态

我读到这通常表示监视器配置产生的响应不是 200。但是,使用 curl 进行的测试显示两个端点的响应均为 200。我最初将其设置为探测主页(它也返回了 200),但添加了一个专用的 'probe' 页面以防万一,这没有任何区别。

这是我的流量管理器配置(经典门户,但这不重要):

浏览器网络检查员:

这是我的卷曲结果:

显然,如果所有端点都降级,流量管理器仍会运行,但我担心它可能会影响我们的地理冗余。

提前感谢您的帮助!

您的 curl 调用中的 -L 是针对 "follow redirects" 的,这会让您失望。

Traffic Manager won't follow HTTP redirects!

因为您的端点现在 return 一个 301 Moved Permanently 它们正在呈现 降级

$ curl -Ii http://posguys-east.cloudapp.net/probe.html

HTTP/1.1 301 Moved Permanently
Content-Length: 147
Content-Type: text/html; charset=utf-8
Location: https://posguys.com/probe.html

这很可能是因为您在 web.config.

中配置了 HTTP → HTTPS 重定向

解决方案很简单,使用 https:// 移除并重新添加端点。

稍后编辑

没那么简单,看起来您的应用程序也在 https:// 上以 301 重定向响应。

$ curl -kIiL https://posguys-east.cloudapp.net/probe.html
HTTP/1.1 301 Moved Permanently
Content-Length: 147
Content-Type: text/html; charset=utf-8
Location: https://posguys.com/probe.html
Server: Microsoft-IIS/8.5

HTTP/1.1 200 OK
Cache-Control: max-age=5184000
Content-Length: 149
Content-Type: text/html

您需要解决该部分。将 /probe.html 的例外添加到您在那里点击的任何重写规则。测试 curl,但这次没有 -L