2014-01-09 108 views
3

我有一個在Windows Azure網站上運行的ASP.NET MVC應用程序。Azure網站重定向循環

所有的突然網站開始重定向主頁URL'/'本身導致重定向循環。沒有變化的應用程序在事件發生時作出和日誌文件不包含任何可疑的信息 - 當我重新啓動Azure的網站一切又回到了正常的類似請求

2014-01-09 09:00:05 SITE_NAME GET/X-ARR-LOG-ID=581f1d91-727a-4820-a7fa-7c21888b5813 80 - 193.85.68.249 Mozilla/4.0+(compatible;+MSIE+8.0;+Windows+NT+5.1;+Trident/4.0;+Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.1;+SV1)+;+.NET+CLR+2.0.50727;+.NET+CLR+3.0.4506.2152;+.NET+CLR+3.5.30729) _ga=GA1.2.720579394.1386747761;+ARRAffinity=12ae470da6bd7ab5a7c446a8f29748ba5f73605e7fcd365292d61319cb67336f;+WAWebSiteSID=654ed6b99c9747759561e52c1f2cb0f8 - www.domain.cz 301 0 0 534 1069 31 
2014-01-09 09:00:05 SITE_NAME GET/X-ARR-LOG-ID=3ddebc99-c083-4cbf-9bbe-90d755a8b1a0 80 - 193.85.68.249 Mozilla/4.0+(compatible;+MSIE+8.0;+Windows+NT+5.1;+Trident/4.0;+Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.1;+SV1)+;+.NET+CLR+2.0.50727;+.NET+CLR+3.0.4506.2152;+.NET+CLR+3.5.30729) _ga=GA1.2.720579394.1386747761;+ARRAffinity=12ae470da6bd7ab5a7c446a8f29748ba5f73605e7fcd365292d61319cb67336f;+WAWebSiteSID=654ed6b99c9747759561e52c1f2cb0f8 - www.domain.cz 301 0 0 534 1073 0 

的只是很多。第三次發生同樣的問題,所以它可能不僅僅是服務器的「呃逆」。

任何人都可以幫助我診斷問題嗎?我有點迷茫,因爲服務器日誌和應用程序日誌都不包含任何有用的信息。

+0

你有任何自定義應用程序中的重定向代碼?例如重定向到一個全小寫的網址? –

+2

過去幾天在我們的某個網站上遇到同樣的問題。 –

+0

@ rich.okelly:是的,web.config中存在一個重寫規則,將'domain.cz'重定向到'www.domain.cz' –

回答

3

可以使用的Application_BeginRequest擁有全球非www網頁地址的路由到www網址。

protected void Application_BeginRequest(Object sender, EventArgs e) 
{ 
    if (!Request.Url.Host.StartsWith("www")) 
    { 
     UriBuilder builder = new UriBuilder (Request.Url); 
     builder.Host = "www." + Request.Url.Host; 
     Response.Clear(); 
     Response.StatusCode = 301; 
     Response.StatusDescription = "Moved Permanently"; 
     Response.AddHeader("Location", redirectUrl); 
     Response.End(); 
    } 
} 
0

我意識到這是舊的。但在我的情況下,這是由於代碼中的錯誤。

要獲得真正的錯誤,以顯示我在web.config

<customErrors mode="RemoteOnly" defaultRedirect="/Error/Index" /> 

改變這種爲了這個

<customErrors mode="Off" /> 

然後,它向我表明

1

我已經回答超過here

但是因爲我在調查過程中越過了這篇文章我希望在這裏分享...

我遇到了這個問題,我的一個Azure web應用程序通過http提供流量。

我的解決方案是禁用親和力cookie。

如果我有一個應用程序需要在1臺服務器上維護用戶會話,我將不得不重新啓用親和cookie,但因爲這導致我(間歇性)的問題,我也會強制所有流量到https,因爲這似乎成爲使用Affinity cookie的更成功的設置。

這個鏈接是真正有用的和偉大的背景資料:https://azure.microsoft.com/en-us/blog/disabling-arrs-instance-affinity-in-windows-azure-web-sites/