由于https重写规则,Azure Traffic Manager日志降级

时间:2016-01-22 12:48:58

标签: azure azure-web-sites azure-traffic-manager

我的web.config(MVC 5)中有以下重写代码,这显然导致流量管理器注册“降级”,因为它得到了重写(我怀疑是301状态)。我已将流量管理器设置为监控HTTPS。我还需要做什么?

  <system.webServer>
<!-- http://blog.smarx.com/posts/redirecting-to-https-in-windows-azure-two-methods -->
<!--<rewrite>
  <rules>
    <rule name="Redirect to HTTPS" stopProcessing="false">
      <match url="(.*)" />
      <conditions>
        <add input="{HTTPS}" pattern="off" ignoreCase="true" />
        <add input="{URL}" pattern="/$" negate="true" />
        <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
      </conditions>
      <action type="Redirect" url="https://{SERVER_NAME}/{R:1}" redirectType="SeeOther" />
    </rule>
  </rules>
</rewrite>-->
<validation validateIntegratedModeConfiguration="false" />

更新这可能在我的家庭控制器中有效:

    /// <summary>
    /// For Azure Traffic Manager Monitoring /Home/TrafficManagerProbe
    /// </summary>
    /// <returns></returns>
    [HttpGet]
    [AllowAnonymous]
    public HttpResponseMessage TrafficManagerProbe()
    {
        return new HttpResponseMessage(HttpStatusCode.OK);
    }

2 个答案:

答案 0 :(得分:1)

你的怀疑是正确的。 Azure流量管理器运行状况探测器必须接收HTTP“200”才能将端点视为联机。任何其他HTTP状态(包括201,202等)都被视为降级。不遵循重定向(301,302等)。

This article了解有关如何解决降级端点状态的更多信息。

答案 1 :(得分:0)

以下适用于需要Https的上述情况。只需将/ Home / TrafficManagerProbe添加为TrafficManager配置页面底部的监视器链接即可。我现在变得“可用”而不是“退化”。

/// <summary>
/// For Azure Traffic Manager Monitoring /Home/TrafficManagerProbe
/// </summary>
/// <returns></returns>
[HttpGet]
[AllowAnonymous]
public HttpResponseMessage TrafficManagerProbe()
{
    return new HttpResponseMessage(HttpStatusCode.OK);
}