2014-10-30 4 views
2

Teamcity의 자동화 된 배포를 새 API 끝점 중 하나에서 사용하려고합니다. Teamcity가 MSDeploy를 호출하여 우리 서버에 패키지를 보내라는 마지막 단계를 포함하여 모든 것이 올바르게 설정되었습니다. 여기서 우리는 통합/테스트 서버를 말합니다.Msdeploy 실패 : 'xxx'계정이 유효하지 않은 것으로 보입니다.

모든 것이 잘 작동했지만 IIS에서 새 사이트를 만들 때 다른 웹 사이트에서 서비스 사용자를 빌려 앱 풀을 실행했습니다.

새 도메인 사용자를 생성하고 배포를 통해 응용 프로그램 풀을 전환 할 때 실패했습니다. MSDeploy가 제공하는 오류는 다음과 같습니다.

Error: (30/10/2014 15:00:56) An error occurred when the request was processed on the remote computer. [15:00:56][Step 1/1] Error: The account 'XXX' does not appear to be valid. The account was obtained from this location: 'system.applicationHost/applicationPools/******.com'. [15:00:56][Step 1/1] Error: Some or all identity references could not be translated. [15:00:56][Step 1/1] at System.Security.Principal.NTAccount.Translate(IdentityReferenceCollection sourceAccounts, Type targetType, Boolean forceSuccess) [15:00:56][Step 1/1] at System.Security.Principal.NTAccount.Translate(Type targetType) [15:00:56][Step 1/1] at Microsoft.Web.Deployment.Impersonator.GetNTAccount(String userName, String source)

여기서 XXX는 우리가 만든 새 도메인 사용자입니다. 이전 도메인 사용자에게 'YYY'를 빌려 왔습니다. 우리는 세 번째 계정 인 'ZZZ'를 사용하여 웹 배포에 연결합니다. 그래서 YYY로 실행되는 앱 풀은 모든 것이 좋았지 만 XXX로 전환하면이 오류가 발생합니다.

우리는 살펴 봤지만 XXX와 YYY 사이에는 차이점을 찾을 수 없습니다. 둘 다 동일한 광고 그룹에 있고 둘 다 서버에 대해 동일한 권한을 갖는 것으로 보입니다. 계정 XXX를 사용하여 RDP를 통해 서버에 로그인하면 IIS GUI를 열고 사이트를 찾아보고 관리 할 수 ​​있습니다.

나는이 문제에 대해 많은 다른 사이트를 찾을 수 없었지만 완전히 혼란 스럽습니다.

참고로 웹 서버가 이미 재시작되어 도움이되는지 확인할 수 있습니다. 그렇지 않았습니다.

+0

행운이 있습니까? 나는 똑같은 문제를 겪고있다 ... –

+0

나는 두렵다. 우리는 여전히 다른 앱 풀에서 훔친 계정을 사용하고 있습니다. – Richiban

답변

2

여기에 반환되는 오류는 일반적인 인증 실패 오류 일뿐입니다. 이 특정 시나리오에서는 사용자 이름과 응용 프로그램 풀이 실행중인 사용자의 SAM 계정 이름간에 불일치로 인해 인증 실패가 발생했습니다.

은 Active Directory 사용자를 인증 할 때 이름이 사용되는에 대한 설명은 다음과 같은 질문을 참조하십시오 - 우리의 특정 예에서 https://serverfault.com/questions/371150/any-difference-between-domain-username-and-usernamedomain-local

을, 응용 프로그램 풀의 액티브 디렉토리 사용자 이름은 20자를 초과했다. SAM 계정 이름의 글자 수 제한은 20 자로 제한되어 있으므로 20자를 초과하지 않습니다.

연결된 대답에서 설명한 것처럼 도메인 및 사용자 이름을 지정할 때 사용하는 형식에 따라 인증에 사용되는 이름 버전이 결정됩니다. 따라서 "username_longer_than_20_characters"의 예를 들어 사용자 이름으로 다음과 같은 형식 일 것이다 : \ username_longer_than이

도메인 - SAM을 사용하여 인증 도메인 @ 이름 또는 username_longer_than_20_characters 계정 - 링크에서 사용자 원칙 이름을

대답을 사용하여 인증 또한 Active Directory 사용자의 SAM 계정 이름을 확인하는 방법에 대해서도 설명합니다.

관련 문제