TFS 서버의 이벤트 로그 오류 - WebHost failed to process a request. Parameter name: certificate
TFS AppTier의 이벤트 로그에 다음과 같은 항목들이 대량으로 쌓여 있었습니다.
Log Name: Application
Source: System.ServiceModel 3.0.0.0
Date: 2013-04-08 오후 3:36:00
Event ID: 3
Task Category: WebHost
Level: Error
Keywords: Classic
User: TESTAD\tfs2010admin
Computer: ttfs2012.testad.com
Description:
WebHost failed to process a request.
Sender Information: System.ServiceModel.ServiceHostingEnvironment+HostingManager/17653682
Exception: System.ServiceModel.ServiceActivationException: The service '/SecurityTokenServiceApplication/securitytoken.svc' cannot be activated due to an exception during compilation. The exception message is: Exception has been thrown by the target of an invocation.. ---> System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.ArgumentNullException: Value cannot be null.
Parameter name: certificate
at System.IdentityModel.Tokens.X509SecurityToken..ctor(X509Certificate2 certificate, String id, Boolean clone, Boolean disposable)
at System.IdentityModel.Tokens.X509SecurityToken..ctor(X509Certificate2 certificate)
at Microsoft.IdentityModel.SecurityTokenService.X509SigningCredentials..ctor(X509Certificate2 certificate)
at Microsoft.SharePoint.IdentityModel.SPSecurityTokenServiceConfiguration..ctor()
...[생략]...
at System.ServiceModel.ServiceHostingEnvironment.HostingManager.EnsureServiceAvailable(String normalizedVirtualPath)
at System.ServiceModel.ServiceHostingEnvironment.EnsureServiceAvailableFast(String relativeVirtualPath)
Process Name: w3wp
Process ID: 5072
"SharePoint 2010 Timer", "SharePoint Server Search 14" 서비스를 중지시키면 오류가 많이 줄어듭니다. 하지만, 그래도 다음과 같은 오류는 종종 남았습니다.
An exception occurred when trying to issue security token: The requested service, 'http://localhost:32843/SecurityTokenServiceApplication/securitytoken.svc/actas' could not be activated. See the server's diagnostic trace logs for more information..
다행히 이에 대한 해결책이 웹에 나오는데요.
SharePoint 2010: Nailing the error "The Security Token Service is unavailable"
; http://blogs.technet.com/b/sykhad-msft/archive/2012/02/25/sharepoint-2010-nailing-the-error-quot-the-security-token-service-is-unavailable-quot.aspx
해결 방법은 글에 나온데로, 전체 서비스에 대해 다시 Provisioning을 해주면 됩니다. 이를 위해
SharePoint용 PowerShell을 띄우고, 다음의 스크립트를 실행합니다.
$h = Get-SPServiceHostconfig
$h.Provision()
$services = Get-SPServiceApplication
foreach ($service in $services) { $service.provision(); write-host $service.name}
실행 완료된 이후부터는, 이벤트 로그가 깨끗해졌습니다. ^^
[이 글에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]