2013-09-24 85 views
0

我已經實施了HTTP負載平衡使用應用程序請求路由爲我的Web應用程序。我有一個負載平衡器服務器和兩個應用程序服務器,即SERVER1和SERVER2。我在負載均衡器服務器的服務器場中配置了客戶端親和性ARR 3.0:客戶端關係不工作

但問題是來自同一客戶端的請求被髮送到不同的服務器。此行爲已在服務器場的「監視和管理」部分中確認。 另外我在客戶端「對象引用未設置爲對象的實例」中出現錯誤。

這是因爲當來自客戶端的第一個請求命中SERVER1時,它在SERVER1的會話中創建了一個對象。現在,來自同一客戶端的第二個請求試圖訪問會話中創建的對象。但是請求是從負載均衡器而不是SERVER1中訪問SERVER2。由於在SERVER2客戶端中沒有會話存在此錯誤。

據我所知,客戶端親和配置意味着處理這個問題,其中來自客戶端的所有後續請求將轉到服務於第一個請求的同一服務器。

但在我的情況下,這個功能是行不通的。任何解決方案將是非常有益的。

回答

2

我找到了解決方案!該應用程序使用Firefox瀏覽器可以正常工作,而不適用於IE和Chrome。 ARR使用Cookie啓用客戶端親和。 Cookie名稱將用於在客戶端上設置Cookie。也就是說,客戶端必須接受cookie以使客戶端親和力正常工作。默認的Cookie名稱是ARRAffinity

要瀏覽我使用url servername/appname的應用程序。 ARRAffinity當我從IE和Chrome瀏覽應用程序時,Cookie未被創建。當使用servername.domainname/appname

2

舊的步伐,但可能對某人有用,cookie被創建和應用程序工作正常。

似乎是ie問題或「使用Internet Explorer時的預期行爲」:如果站點名稱不包含至少一個'。'那麼ARR客戶端關聯Cookie不會被髮送回ARR,因此ARR會生成一個新的。

所以,有效的解決方法是任何別名,包括'。'。 (點)作爲Nagendra提到servername.domainname

http://forums.iis.net/t/1178295.aspx?ARR+2+5+Client+Affinity+Not+Working