다음을 통해 공유


SharePoint 온-프레미스 검색에 SharePoint Online 콘텐츠가 표시되지 않음

문제

다음 시나리오를 고려하세요.

  • SharePoint 2013 온-프레미스 환경에서 SharePoint Online의 결과를 반환하도록 아웃바운드 하이브리드 검색을 구성합니다.

  • 사용자가 SharePoint 2013 온-프레미스 사이트에서 쿼리를 수행하는 경우 SharePoint 2013 온-프레미스 환경의 결과만 표시됩니다. SharePoint Online에서 결과가 반환되지 않습니다.

  • 관리자는 결과 원본과 연결된 쿼리 규칙을 편집합니다. 그런 다음, 관리자는 결과 블록에서 쿼리 작성기를 엽니다. 그러나 다음과 같은 오류가 트리거됩니다.

    1 3/4 System.Net.WebException: 요청이 중단되었습니다. 요청이 취소되었습니다. -->Microsoft.SharePoint.IdentityModel.OAuth2.SPOAuth2ErrorResponseException: 원격 서버에서 (404) 찾을 수 없음 오류를 반환했습니다. microsoft.SharePoint.IdentityModel.OAuth2.SPOAuth2Client.GetResponse(Uri stsurl, OAuth2AccessTokenRequest message) at Microsoft.SharePoint.IdentityModel.OAuth2.SPOAuth2Client.RequestOAuthToken(Uri stsUrl) OAuth2AccessTokenRequest request) at stslnfo, OAuth2EndpointIdentity endpointldentity) at Microsoft.SharePoint.IdentityModel.OAuth2.SPOAuth2SecurityTokenManager.GetRawBearerToken(String nameldentifier, SPSecurityTokenServiceConnectionInformation stslnfo.

또한 다음 예외는 ULS(Unified Logging Service) 로그에 기록됩니다.

An exception occurred during OAuth2 request to <url specific to your site>
The remote server returned an error: (404) Not Found.
at System.Net.HttpWebRequest.GetResponse()
at Microsoft.SharePoint.IdentityModel.OAuth2.SPOAuth2Client.GetResponse(Uri stsUrl,
OAuth2AccessTokenRequest message)

해결 방법

이 문제를 resolve 검색 서비스 애플리케이션 프록시 파티션 모드로 배포되었는지 확인합니다. 이 경우 파티션 모드를 사용하지 않고 프록시를 제거한 다음 다시 만듭니다.

노트

이렇게 하려면 SharePoint 관리 셸에서 다음 단계를 수행합니다.

  1. Search Service 애플리케이션의 ID를 가져옵니다. 이렇게 하려면 다음 cmdlet을 실행합니다.

    $ssa=Get-SPEnterpriseSearchServiceApplication
    
  2. Search Service 애플리케이션 프록시 ID를 가져옵니다. 이렇게 하려면 다음 cmdlet을 실행합니다.

    $ssaproxy=Get-SPServiceApplicationProxy –identity <guid>
    

    참고 서비스 애플리케이션 프록시 GUID는 모든 팜에 고유합니다. Get-SPServiceApplicationProxy cmdlet을 실행하고 검색 서비스 애플리케이션 프록시의 GUID를 확인합니다.

  3. $ssaproxy.properties 결과를 검토합니다. 프록시는 분할된 것으로 나열되어야 합니다. 이 경우 4단계로 이동하여 프록시 속성을 업데이트합니다.

  4. 프록시 속성을 업데이트합니다. 이렇게 하려면 다음 cmdlet을 실행합니다.

    $proxy = get-spenterprisesearchserviceapplicationproxy
    $proxy.Properties["Microsoft.Office.Server.Utilities.SPPartitionOptions"] = 0
    $proxy.Update()
    $ssa = get-spenterprisesearchserviceapplication
    $ssa.SetProperty("IgnoreTenantization",1)
    $ssa.Update()
    

    이러한 단계를 완료한 후 문제가 해결되었는지 여부를 검사. 그렇지 않으면 5단계로 이동하여 프록시를 제거하고 다시 만듭니다.

  5. Search Service 애플리케이션 프록시 제거합니다. 이렇게 하려면 다음 cmdlet을 실행합니다.

    Remove-SPServiceApplicationProxy $ssaproxy
    
  6. 새 Search Service 애플리케이션 프록시 만듭니다. 이렇게 하려면 다음 cmdlet을 실행합니다.

    New-SPEnterpriseSearchServiceApplicationProxy -SearchApplication $ssa -Name "Search Service Application Proxy"
    

이러한 단계를 수행한 후 SharePoint 2013 온-프레미스 검색 팜에서 SharePoint Online의 결과 반환을 시작해야 합니다.

추가 정보

자세한 내용은 SharePoint Server 2013의 다중 테넌트 이해를 참조하세요.

아직 해결되지 않았습니까? SharePoint 커뮤니티로 이동합니다.