2016-12-29 6 views
0

Поскольку мы перенесли несколько сайтов с Windows Server 2008 R2 на Windows Server 2012, на одном веб-сайте иногда появляется ошибка 401 из службы WCF, вызываемой на том же сервере. Это может работать в течение ~ 1-2 дней до ~ 1 часа, прежде чем он потерпит неудачу. Кажется, это происходит только один раз, после этого он снова работает на X раз.WCF иногда возвращается 401

Проблема, кажется, изолирована только от этого веб-сайта, есть несколько других, которые находятся на другом сервере, вызывающем эту службу WCF без каких-либо проблем после миграции.

Оба сайта находятся на одном сервере, но на разных сайтах и ​​в приложениях.

журнал 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 

Ошибка на сайте:

ServiceName/ProcessData - DataAccess FunctionName- Сообщения: Запрос HTTP является несанкционированным со схемой аутентификации клиента Обсуди. Заголовок аутентификации, полученный с сервера, был «Negotiate, NTLM». StackTrace:

Config:

Сайт использует учетную запись домена, чтобы получить доступ к службе 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> 

Я надеюсь, что кто-то может пролить свет на это.

С наилучшими пожеланиями

Patric

ответ

0

Именно благодаря балансировке нагрузки Hyper-V, который не был правильно сконфигурирован. Там, где конфигурация для постоянной сессии была немного низкой, поэтому, когда она начала совершать вызов первой машине, и несколько звонков позже, она переключилась на вторую машину в балансировке нагрузки, что привело к ответу 401.

Смежные вопросы