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

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

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

系统规格:

  • HP DL360 G5
  • 四轮2.5吉翁
  • 6GB 内存
  • 未虚拟化
  • WSUS 3.2.7600.3226
  • SQL 2005 速成版
  • Windows 2003 R2 SP2
  • 已启用 WSS SSL

每六个小时就会有五个事件记录到应用程序事件日志中:

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

此外,还记录了以下 .NET 堆栈跟踪,C:\Program Files\Update Services\LogFiles\SoftwareDistribution.log每个堆栈跟踪除服务名称外都是相同的:

2009-11-27 11:56:52.757 UTC 错误 WsusService.10 HmtWebServices.CheckApiRemotingWebService ApiRemoting WebService WebException:System.Net.WebException:请求失败,HTTP 状态 403:禁止访问。
   在 System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage 消息、WebResponse 响应、Stream responseStream、Boolean asyncCall)
   在 System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke (字符串方法名称,对象 [] 参数)
   在 Microsoft.UpdateServices.Internal.ApiRemoting.Ping(Int32 pingLevel)
   在 Microsoft.UpdateServices.Internal.HealthMonitoring.HmtWebServices.CheckApiRemotingWebService(EventLoggingType 类型,HealthEventLogger 记录器)
   在 Microsoft.UpdateServices.Internal.HealthMonitoring.HmtWebServices.CheckApiRemotingWebService(EventLoggingType 类型,HealthEventLogger 记录器)
   在 Microsoft.UpdateServices.Internal.HealthMonitoring.HealthMonitoringTasks.ExecuteSubtask(HealthMonitoringSubtask 子任务,EventLoggingType 类型,HealthEventLogger 记录器)
   在 Microsoft.UpdateServices.Internal.HealthMonitoring.HmtWebServices.Execute(EventLoggingType 类型)
   在 Microsoft.UpdateServices.Internal.HealthMonitoring.HealthMonitoringTasks.Execute(EventLoggingType 类型)
   在 Microsoft.UpdateServices.Internal.HealthMonitoring.HealthMonitoringThreadManager.Execute(Boolean waitIfNecessary,EventLoggingType logsingType)
   在 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 错误代码、UInt32 numBytes、NativeOverlapped* pOverlapped)
   在 System.Threading._IOCompletionCallback.PerformIOCompletionCallback(UInt32 errorCode、UInt32 numBytes、NativeOverlapped* pOVERLAP)

到目前为止我已经尝试了以下方法:

  • 确保设置准确无误科技网
  • 检查 IIS 中是否存在适合与 127.0.0.1 绑定的绑定。
  • 按照以下说明检查了 IIS 中的设置科技网

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

答案1

最终的解决方案是以下命令:

wsusutil configuressl update.company.com

替换为我们自颁发的 SSL 证书字段company.com中引用的主机名。issued to

之后:

iisreset /noforce

wsusutil checkhealth

事件日志中记录了以下事件:

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

答案2

我们这里也遇到了同样的问题,只不过不是 HTTP 403 错误,而是 HTTP 502 错误。问题出在服务器上的代理设置上,一旦更正该设置,问题就解决了。

相关内容