가상 디렉터리에서 BITS 업로드가 활성화된 두 대의 서버에서 IIS 8.5를 실행하고 있습니다. 로그를 살펴보면 여러 종류의 오류 (bits_error:{GUID},500,0x80070070)
또는 기타 오류 코드가 표시됩니다. PowerShell cmdlet을 사용하고 ErrorDescription 특성에 액세스하여 이를 클라이언트 측의 오류 설명과 일치시킬 수 있지만 Get-BitsTransfer
, 내가 클라이언트에서 오류가 발생한 경우에만 가능합니다.
내가 보고 있는 특정 코드는 다음과 같습니다.
- 0x800703E3
- 0x80070070
- 0x80070005 - E_ACCESSDENIED라고 가정합니다.
- 0x8020001F - BG_E_SESSION_NOT_FOUND, 적어도 클라이언트 측에서는
- 0x80070585 - "잘못된 인덱스"에 대한 설명이 있음을 확인했지만 추가 컨텍스트를 제공하는 정보를 찾을 수 없는 것 같습니다. (이 특정 서버에는 업로드가 작동하지 않기 때문에 손가락질할 수 없는 구성 문제가 있는 것 같습니다. 다른 오류는 "작동하는" 서버에서 발생합니다.)
나는 더 많은 것이 있다고 확신합니다.비트Msg.h일반적인 것 중 일부가 포함됩니다.
IIS 로그 파일의 BITS_POST 항목에 대한 전체 오류 코드 목록에 대한 자세한 내용을 알려주시면 감사하겠습니다.
업데이트:실패한 요청 추적을 사용하면 잘못된 인덱스 오류(0x80070585)에 대한 추가 정보를 볼 수 있습니다. SysInternals Process Monitor의 가상 디렉터리에 대한 활동이 표시되지 않으며 Handle을 사용할 때 컴퓨터의 해당 디렉터리에 열려 있는 핸들도 표시되지 않습니다. 그러나 IIS 관리자에서 해당 가상 디렉터리에 바인딩하기 위해 저장된 자격 증명이 작동하는지 확인했으며 연결 테스트를 수행할 때 INetMgr.exe가 실제로 예상한 로컬 디렉터리에 액세스했음을 procmon에서 확인했습니다. 어쨌든 추적 파일의 흥미로운 부분은 다음과 같습니다. BITS 서비스 dll에 접근하여 그 안에서 숨이 막히는 것 같습니다.
ISAPI_START
CALL_ISAPI_EXTENSION
DllName="C:\Windows\system32\bitssrv.dll"
MODULE_SET_RESPONSE_ERROR_STATUS
ModuleName="IsapiModule", Notification="EXECUTE_REQUEST_HANDLER",
HttpStatus="500", HttpReason="Internal Server Error",
HttpSubStatus="0", ErrorCode="The operation completed successfully.(0x0)",
ConfigExceptionInfo=""
GENERAL_SET_RESPONSE_HEADER HeaderName="Pragma", HeaderValue="no-cache", Replace="false" 14:20:19.559
GENERAL_SET_RESPONSE_HEADER HeaderName="BITS-packet-type", HeaderValue="Ack", Replace="false" 14:20:19.559
GENERAL_SET_RESPONSE_HEADER HeaderName="BITS-Error", HeaderValue="0x80070585", Replace="false" 14:20:19.559
GENERAL_SET_RESPONSE_HEADER HeaderName="BITS-Error-Context", HeaderValue="0x5", Replace="false" 14:20:19.559
GENERAL_SET_RESPONSE_HEADER HeaderName="Content-Length", HeaderValue="0", Replace="false" 14:20:19.559
ISAPI_EXTENSION_DONE 14:20:19.559
ISAPI_END
마지막 단서는 오류 0x80070585가 표시되는 로그 항목의 경우 뒤에 나열된 작업 GUID가 없다는 것입니다 bits_error
. 그것은 단지 (bits_error:,500,0x80070585)입니다. 마치 원하는 업로드 원격 경로가 나타나는 것과 같지만 업로드 프로토콜 초기에 실패합니다.
업데이트 2:SUS_E_INVALIDINDEX
잠재적으로 관련된 Windows 업데이트 오류 코드 (일명) 가 있습니다 SUS_S_ALREADY_UNINSTALLED
. 이는 "제거할 업데이트가 이미 설치되지 않았습니다. -- 잘못된 인덱스를 사용하려고 시도했습니다."를 의미합니다. Windows 업데이트는 BITS 프로토콜을 사용하므로 그들이 말하는 인덱스는 작업에 대한 파일 인덱스일 수 있습니다. 그러나 BITS 업로드 작업에는 최대 하나의 파일만 포함되며 해당 파일의 16진수 값은 0x80240007입니다.
WU_E_INVALIDINDEX 및 이 항목도 참조하세요.StackOverflow 답변.