【发布时间】:2016-12-29 14:13:59
【问题描述】:
由于我们将一些网站从 Windows Server a 2008 R2 迁移到 Windows Server 2012,一个网站有时会从它在同一服务器上调用的 WCF 服务收到错误 401。在失败之前,这可以工作约 1-2 天到约 1 小时。这似乎只发生一次,之后它会再次工作 X 时间。
这个问题似乎只出现在这个网站上,还有其他几个在另一个服务器上调用这个 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 请求未通过客户端身份验证方案“协商”进行授权。从服务器收到的身份验证标头是“协商,NTLM”。堆栈跟踪:
配置:
网站使用域帐户访问使用身份验证模式窗口的 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>
我希望有人能阐明这一点。
致以诚挚的问候
帕特里克
【问题讨论】:
标签: asp.net web-services wcf authentication soap