WSUS似乎正在运行,但在应用程序日志中报告错误(DSS身份validationWeb服务不起作用)

几个月前,我在一台新的服务器上重新安装了WSUS,作为服务器硬件刷新的一部分。 它正常运行正在下载,授权和补丁工作站。

系统规格:

  • HP DL360 G5
  • Quad 2.5 Zeon
  • 6GB内存
  • 没有虚拟化
  • WSUS 3.2.7600.3226
  • SQL 2005 Express
  • Windows 2003 R2 SP2
  • 启用WSS SSL

每六个小时将五个事件logging到应用程序事件日志中:

来源| 类别|  ID | 描述
 -------------------------------------------------- ------------------------------------
 Windows Server Update Services |  Web服务|  12052 |  DSS身份validationWeb服务不起作用。
 Windows Server Update Services |  Web服务|  12042 |  SimpleAuth Web服务不起作用
 Windows Server Update Services |  Web服务|  12022 | 客户端Web服务不起作用
 Windows Server Update Services |  Web服务|  12032 | 服务器同步Web服务不起作用
 Windows Server Update Services |  Web服务|  12012 |  API远程处理Web服务不起作用

另外,在C:\Program Files\Update Services\LogFiles\SoftwareDistribution.loglogging下面的.NET堆栈跟踪每个堆栈跟踪都是相同的,除了服务的名称:

 2009-11-27 11:56:52.757 UTC错误WsusService.10 HmtWebServices.CheckApiRemotingWebService ApiRemoting WebService WebException:System.Net.WebException:请求失败,HTTP状态为403:Forbidden。
   在System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage消息,WebResponse响应,streamresponseStream,布尔asyncCall)
   在System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName,Object [] parameters)
   在Microsoft.UpdateServices.Internal.ApiRemoting.Ping(Int32 pingLevel)
   在Microsoft.UpdateServices.Internal.HealthMonitoring.HmtWebServices.CheckApiRemotingWebService(EventLoggingTypetypes,HealthEventLoggerlogging器)
   在Microsoft.UpdateServices.Internal.HealthMonitoring.HmtWebServices.CheckApiRemotingWebService(EventLoggingTypetypes,HealthEventLoggerlogging器)
   在Microsoft.UpdateServices.Internal.HealthMonitoring.HealthMonitoringTasks.ExecuteSubtask(HealthMonitoringSubtask子任务,EventLoggingTypetypes,HealthEventLoggerlogging器)
   在Microsoft.UpdateServices.Internal.HealthMonitoring.HmtWebServices.Execute(EventLoggingTypetypes)
   在Microsoft.UpdateServices.Internal.HealthMonitoring.HealthMonitoringTasks.Execute(EventLoggingTypetypes)
   在Microsoft.UpdateServices.Internal.HealthMonitoring.HealthMonitoringThreadManager.Execute(布尔waitIfNecessary,EventLoggingType loggingType)
   在Microsoft.UpdateServices.Internal.HealthMonitoring.RemotingChannel.PrivateLogEvents()
    (System.Runtime.Remoting.Messaging.StackBuilderSink._PrivateProcessMessage(IntPtr md,Object [] args,Object server,Int32 methodPtr,Boolean fExecuteInContext,Object []&outArgs)
   在System.Runtime.Remoting.Messaging.StackBuilderSink.SyncProcessMessage(IMessage msg,Int32 methodPtr,Boolean fExecuteInContext)
   在System.Runtime.Remoting.Messaging.ServerObjectTerminatorSink.SyncProcessMessage(IMessage reqMsg)
   在System.Runtime.Remoting.Lifetime.LeaseSink.SyncProcessMessage(IMessage味精)
   在System.Runtime.Remoting.Messaging.ServerContextTerminatorSink.SyncProcessMessage(IMessage reqMsg)
   在System.Runtime.Remoting.Channels.CrossContextChannel.SyncProcessMessageCallback(Object [] args)
   在System.Runtime.Remoting.Channels.ChannelServices.DispatchMessage(IServerChannelSinkStack sinkStack,IMessage msg,IMessage&replyMsg)
   在System.Runtime.Remoting.Channels.SoapServerFormatterSink.ProcessMessage(IServerChannelSinkStack sinkStack,IMessage requestMsg,ITransportHeaders requestHeaders,Stream requestStream,IMessage&responseMsg,ITransportHeaders&responseHeaders,Stream&responseStream)
   在System.Runtime.Remoting.Channels.BinaryServerFormatterSink.ProcessMessage(IServerChannelSinkStack sinkStack,IMessage requestMsg,ITransportHeaders requestHeaders,Stream requestStream,IMessage&responseMsg,ITransportHeaders&responseHeaders,Stream&responseStream)
   在System.Runtime.Remoting.Channels.Ipc.IpcServerTransportSink.ServiceRequest(对象状态)
   在System.Runtime.Remoting.Channels.SocketHandler.ProcessRequestNow()
   在System.Runtime.Remoting.Channels.SocketHandler.BeginReadMessageCallback(IAsyncResult ar)
   在System.Runtime.Remoting.Channels.Ipc.IpcPort.AsyncFSCallback(UInt32 errorCode,UInt32 numBytes,NativeOverlapped * pOverlapped)
   在System.Threading._IOCompletionCallback.PerformIOCompletionCallback(UInt32 errorCode,UInt32 numBytes,NativeOverlapped * pOVERLAP)

到目前为止,我尝试了以下几点:

  • 根据TechNet确保设置是准确的。
  • 检查是否有合适的绑定到IIS中的127.0.0.1绑定。
  • 按照TechNet浏览并检查IIS中的设置。

我发现你可以运行命令wsusutil checkhealth来强制运行健康检查, wsusutil可以在C:\Program Files\Update Services\Tools 。 当这个执行时,它会告诉你检查应用程序日志。

最后,解决scheme是以下命令:

 wsusutil configuressl update.company.com 

使用我们自行颁发的SSL证书的issued to字段中引用的主机名replacecompany.com

之后:

 iisreset /noforce 

 wsusutil checkhealth 

事件日志中logging了以下事件:

事件types:信息
事件来源:Windows Server Update Services
事件类别:核心 
事件ID:10000
用户:N / A
描述:
 WSUS正在正常工作。

我们在这里有同样的问题,只是而不是HTTP 403错误,我们有一个HTTP 502错误。 问题是服务器上的代理设置,一旦纠正,问题就消失了。