2016-01-22 29 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); 
}