Computer >> 컴퓨터 >  >> 시스템 >> Windows Server

Windows 10 WSUS 오류 0x8024401c 완벽 해결 가이드

문제 상황: WSUS에서 업데이트 검색 실패

사내 WSUS 서버(Windows Server 2012 R2 기반)를 통해 Windows 10 1607 및 Windows Server 2016이 설치된 신규 PC에 업데이트를 배포하는 과정에서 문제가 발생했습니다. Windows 10 클라이언트는 WSUS 콘솔에는 정상적으로 표시되지만, 업데이트를 검색하면 오랜 시간이 소요된 후 최종적으로 0x8024401c 오류가 반환됩니다.

화면에는 "일부 업데이트를 설치하는 데 문제가 있습니다. 나중에 다시 시도하겠습니다..."라는 메시지와 함께 (0x8024401c) 오류 코드가 표시됩니다.

오류 코드 0x8024401c의 의미

Windows Update 오류 코드 목록에 따르면 0x8024401C는 클라이언트 응답 시간 초과를 의미합니다. 즉, WU_E_PT_HTTP_STATUS_REQUEST_TIMEOUT(HTTP 상태 408)으로, 서버가 요청을 기다리다가 시간이 초과된 상황입니다.

새로운 형식의 Windows 10 WindowsUpdate.log 파일에서도 WSUS 시간 초과와 관련된 경고가 간헐적으로 기록됩니다.

2017-08-29 11:14:21:870  816 1244 WS WARNING: There was an error communicating with the endpoint at 'https://dub-wsus:8530/ClientWebService/client.asmx'.
2017-08-29 11:14:21:870 816 1244 WS WARNING: There was an error receiving the HTTP reply.
2017-08-29 11:14:21:870 816 1244 WS WARNING: The operation did not complete within the time allotted.
2017-08-29 11:14:21:870 816 1244 WS WARNING: The operation timed out

흥미로운 점은 클라이언트에서 https://dub-wsus:8530/ClientWebService/client.asmx 페이지가 정상적으로 열린다는 것입니다. 이는 WSUS 서버 자체의 장애가 아니라, 서버나 클라이언트가 일부 작업을 처리할 충분한 시간을 갖지 못해 시간 초과로 연결이 끊기는 것으로 추정할 수 있습니다. 특히 초기 검색 시 클라이언트가 방대한 업데이트 목록을 한꺼번에 받게 되면서 IIS 워커 프로세스의 제한 값을 초과하게 됩니다.

해결 방법 1: KB3159706 업데이트 설치 및 후속 작업

이 문제를 해결하려면 먼저 WSUS 서버에 KB3159706 업데이트를 설치해야 합니다. 단, 서버에 Windows Server 2012 R2 Update 1이 사전에 설치되어 있어야 합니다.

KB3159706(Windows Server 2012/2012 R2용 WSUS ESD 암호 해독 지원 업데이트)은 설치만으로 끝나지 않습니다. 설치 후 반드시 아래의 수동 작업을 수행해야 하며, 그렇지 않으면 다음에 WSUS 콘솔이 열리지 않는 문제가 발생할 수 있습니다.

  • 관리자 권한으로 다음 명령을 실행합니다:
    "C:\Program Files\Update Services\Tools\wsusutil.exe" postinstall /servicing
  • .NET Framework 4.5의 HTTP Activation 기능 설치 여부를 확인하고, 없다면 설치합니다:
    Get-WindowsFeature -Name NET-WCF-HTTP-Activation45
  • WSUS에서 SSL을 사용하는 경우, Microsoft 권장 사항에 따라 C:\Program Files\Update Services\WebServices\ClientWebService\Web.config 파일을 수정합니다(SSL 미사용 환경이라면 생략 가능).
  • 같은 위치의 web.config 파일에서 요청 크기 제한을 늘립니다.
    <httpRuntime maxRequestLength="4096" /><httpRuntime maxRequestLength="204800" executionTimeout="7200"/>
  • PowerShell로 WSUS 서비스를 재시작합니다:
    Get-Service -Name WsusService | Restart-Service -Verbose

해결 방법 2: IIS WsusPool 고급 설정 조정

IIS 관리자(IIS Manager)에서 응용 프로그램 풀(Application Pools) → WsusPool → 고급 설정(Advanced Settings)으로 이동하여 다음 항목을 변경합니다.

  • Private Memory Limit (KB): 0 — 기존 값은 1258015였으며, 0으로 설정하면 WSUS 워커 프로세스의 메모리 사용 제한이 해제되어 1.2GB 이상의 메모리를 사용할 수 있습니다.
  • Queue Length: 25000 — 풀 대기열 길이를 기존 10000에서 25000으로 늘립니다.
  • Limit Interval (minutes): 15 — 카운터 초기화 및 CPU 스로틀링 주기를 5분에서 15분으로 연장합니다.
  • Service Unavailable Response: TcpLevel — 기존 HttpLevel 값에서는 클라이언트에 HTTP 503 오류가 반환되지만, TcpLevel로 변경하면 연결이 단순히 종료됩니다.

해결 방법 3: 연결 시간 초과 값 변경

IIS 관리자에서 WSUS Administration 사이트 → 고급 설정(Advanced Settings)으로 이동한 뒤, Connection Time-out 값을 기존 180초에서 320초로 늘려줍니다.

IIS 재시작 및 결과 확인

모든 설정을 마친 후 명령 프롬프트에서 다음 명령으로 IIS를 재시작합니다.

IISReset

위 과정을 통해 Windows 10 클라이언트가 WSUS 서버에서 업데이트를 검색하고 확인하는 데 필요한 서버 측 시간 초과 임계값과 리소스를 확보했습니다. 실제 적용 결과, 다음 날 모든 클라이언트가 정상적으로 필요한 업데이트를 검색하고 설치할 수 있었습니다.