2016-12-29 96 views
0

由於我們將一些網站從Windows Server 2008 R2遷移到Windows Server 2012,因此一個網站有時會從它在同一臺服務器上調用的WCF服務中收到錯誤401。這可以工作約1-2天〜1小時,然後再失敗。這似乎只發生過一次,之後它再次工作X次。WCF有時會返回401

這個問題似乎只能隔離到這個網站,還有一些其他服務器在調用這個WCF服務後遷移後沒有問題。

這兩個站點位於同一服務器上,但在不同的站點和appPools上。

IIS日誌:從網站

[DATE1] 12:03:40 [IP1] POST ServiceName.asmx - [PORT1]- [IP2] - - 401 0 0 0 
[DATE1] 12:03:40 [IP1] POST ServiceName.asmx - [PORT1] - [IP2] - - 401 1 3221225581 0 

錯誤:

服務名稱/過程數據 - 數據訪問FunctionName-消息:該HTTP請求是未經授權的客戶端身份驗證方案協商'。從服務器收到的驗證頭是'Negotiate,NTLM'。堆棧跟蹤:

配置:

該網站使用域帳戶來訪問它使用的身份驗證模式Windows WCF服務。

網站結合

<binding name="ReportSummaryFacadeSoap" 
     closeTimeout="00:01:00" openTimeout="00:01:00" 
     receiveTimeout="00:10:00" sendTimeout="00:01:00" 
     allowCookies="false" bypassProxyOnLocal="false" 
     hostNameComparisonMode="StrongWildcard" 
     maxBufferSize="65536" maxBufferPoolSize="524288" 
     maxReceivedMessageSize="65536" 
     messageEncoding="Text" textEncoding="utf-8" 
     transferMode="Buffered" useDefaultWebProxy="true"> 
     <readerQuotas maxDepth="32" maxStringContentLength="8192" 
      maxArrayLength="16384" maxBytesPerRead="4096" 
      maxNameTableCharCount="16384"/>   
     <security mode="TransportCredentialOnly">    
      <transport clientCredentialType="Windows" 
        proxyCredentialType="None" realm=""/> 
      <message clientCredentialType="UserName" 
        algorithmSuite="Default"/> 
     </security> 
</binding> 

我希望有人能對這個線索。

隨着親切的問候

帕特里克

回答

0

這是由於在Hyper-V負載平衡,這是不正確可配置。在會話持續時間的配置有點低的情況下,所以當它開始呼叫第一臺機器和幾個呼叫後,它在負載平衡中切換到第二臺機器,導致401響應。