2016-01-22 54 views
1

我的web.config(MVC 5)中有以下重写代码,显然导致流量管理器注册“降级”,因为它获得重写(301状态,I疑似)。我已设置流量管理器来监视HTTPS。我还需要做什么?由于https重写规则导致Azure流量管理器日志降级

<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" /> 

UPDATE这可以在我家里控制器配合工作:

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

回答

1

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

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

+0

谢谢。这也可能起作用:请参阅更新信息。 – GGleGrand

+0

是的,看起来不错 –

0

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

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