Назад | Перейти на главную страницу

WSUS работает, однако в журнале приложений регистрируются ошибки (веб-служба аутентификации DSS не работает)

Несколько месяцев назад я переустановил WSUS на новый сервер в рамках обновления оборудования сервера. Он нормально работает, загружая, авторизуя и поставляя исправления на рабочие станции.

Спецификация системы:

Каждые шесть часов в журнал событий приложений заносятся пять событий:

Source                         | Category     | ID    | Description
--------------------------------------------------------------------------------------
Windows Server Update Services | Web Services | 12052 | The DSS Authentication Web Service is not working.
Windows Server Update Services | Web Services | 12042 | The SimpleAuth Web Service is not working
Windows Server Update Services | Web Services | 12022 | The Client Web Service is not working
Windows Server Update Services | Web Services | 12032 | The Server Synchronization Web Service is not working
Windows Server Update Services | Web Services | 12012 | The API Remoting Web Service is not working

Кроме того, в систему входит следующая трассировка стека .NET. C:\Program Files\Update Services\LogFiles\SoftwareDistribution.log каждая трассировка стека идентична, за исключением названий служб:

2009-11-27 11:56:52.757 UTC Error   WsusService.10  HmtWebServices.CheckApiRemotingWebService   ApiRemoting WebService WebException:System.Net.WebException: The request failed with HTTP status 403: Forbidden.
   at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall)
   at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)
   at Microsoft.UpdateServices.Internal.ApiRemoting.Ping(Int32 pingLevel)
   at Microsoft.UpdateServices.Internal.HealthMonitoring.HmtWebServices.CheckApiRemotingWebService(EventLoggingType type, HealthEventLogger logger)
   at Microsoft.UpdateServices.Internal.HealthMonitoring.HmtWebServices.CheckApiRemotingWebService(EventLoggingType type, HealthEventLogger logger)
   at Microsoft.UpdateServices.Internal.HealthMonitoring.HealthMonitoringTasks.ExecuteSubtask(HealthMonitoringSubtask subtask, EventLoggingType type, HealthEventLogger logger)
   at Microsoft.UpdateServices.Internal.HealthMonitoring.HmtWebServices.Execute(EventLoggingType type)
   at Microsoft.UpdateServices.Internal.HealthMonitoring.HealthMonitoringTasks.Execute(EventLoggingType type)
   at Microsoft.UpdateServices.Internal.HealthMonitoring.HealthMonitoringThreadManager.Execute(Boolean waitIfNecessary, EventLoggingType loggingType)
   at Microsoft.UpdateServices.Internal.HealthMonitoring.RemotingChannel.PrivateLogEvents()
   at System.Runtime.Remoting.Messaging.StackBuilderSink._PrivateProcessMessage(IntPtr md, Object[] args, Object server, Int32 methodPtr, Boolean fExecuteInContext, Object[]& outArgs)
   at System.Runtime.Remoting.Messaging.StackBuilderSink.SyncProcessMessage(IMessage msg, Int32 methodPtr, Boolean fExecuteInContext)
   at System.Runtime.Remoting.Messaging.ServerObjectTerminatorSink.SyncProcessMessage(IMessage reqMsg)
   at System.Runtime.Remoting.Lifetime.LeaseSink.SyncProcessMessage(IMessage msg)
   at System.Runtime.Remoting.Messaging.ServerContextTerminatorSink.SyncProcessMessage(IMessage reqMsg)
   at System.Runtime.Remoting.Channels.CrossContextChannel.SyncProcessMessageCallback(Object[] args)
   at System.Runtime.Remoting.Channels.ChannelServices.DispatchMessage(IServerChannelSinkStack sinkStack, IMessage msg, IMessage& replyMsg)
   at System.Runtime.Remoting.Channels.SoapServerFormatterSink.ProcessMessage(IServerChannelSinkStack sinkStack, IMessage requestMsg, ITransportHeaders requestHeaders, Stream requestStream, IMessage& responseMsg, ITransportHeaders& responseHeaders, Stream& responseStream)
   at System.Runtime.Remoting.Channels.BinaryServerFormatterSink.ProcessMessage(IServerChannelSinkStack sinkStack, IMessage requestMsg, ITransportHeaders requestHeaders, Stream requestStream, IMessage& responseMsg, ITransportHeaders& responseHeaders, Stream& responseStream)
   at System.Runtime.Remoting.Channels.Ipc.IpcServerTransportSink.ServiceRequest(Object state)
   at System.Runtime.Remoting.Channels.SocketHandler.ProcessRequestNow()
   at System.Runtime.Remoting.Channels.SocketHandler.BeginReadMessageCallback(IAsyncResult ar)
   at System.Runtime.Remoting.Channels.Ipc.IpcPort.AsyncFSCallback(UInt32 errorCode, UInt32 numBytes, NativeOverlapped* pOverlapped)
   at System.Threading._IOCompletionCallback.PerformIOCompletionCallback(UInt32 errorCode, UInt32 numBytes, NativeOverlapped* pOVERLAP)

Пока что я пробовал следующее:

Я обнаружил, что вы можете запустить команду wsusutil checkhealth чтобы запустить проверку здоровья, wsusutil можно найти в C:\Program Files\Update Services\Tools. После этого вы получите запрос на проверку журнала приложения.

У нас была та же проблема, только вместо ошибки HTTP 403 у нас была ошибка HTTP 502. Проблема заключалась в настройках прокси на сервере, и как только это было исправлено, проблема исчезла.

В конце концов, решением была следующая команда:

wsusutil configuressl update.company.com

Замена company.com с именем хоста, указанным в issued to поле сертификата SSL, выданного нами самостоятельно.

После:

iisreset /noforce

И

wsusutil checkhealth

В журнале событий было зарегистрировано следующее событие:

Event Type: Information
Event Source:   Windows Server Update Services
Event Category: Core 
Event ID:   10000
User:       N/A
Description:
WSUS is working correctly.