source

Azure WebJobs ServiceBus가 예외 반환: 인가 컨텍스트에서 2개의 DNS 클레임을 발견함

gigabyte 2023. 4. 24. 23:27
반응형

Azure WebJobs ServiceBus가 예외 반환: 인가 컨텍스트에서 2개의 DNS 클레임을 발견함

Azure WebJob을 사용하여 Azure ServiceBus 큐에서 메시지를 읽으려고 하는데 다음 메시지가 느려지고 예외가 발생합니다.

Unhandled Exception: System.InvalidOperationException: Found 2 DNS claims in authorization context.

"AzureWebJobsServiceBus", "AzureWebJobsDashboard" 및 "AzureWebJobsStorage"라는 올바른 연결 문자열을 설정했습니다.

WebJob 프로그램 코드가 JobHostConfiguration을 사용하도록 업데이트되었습니다.

class Program
{
    static void Main()
    {
        var config = new JobHostConfiguration();
        config.UseServiceBus();

        var host = new JobHost(config);
        host.RunAndBlock();
    }
}

그리고 실제 작업 방법은

public class Functions
{
    public async static Task ServiceBusResizeRequest(
         [ServiceBusTrigger("blah")] string message,             
         TextWriter log
         )
    {            
        await log.WriteLineAsync("got message " + message);
    }

}

별도의 콘솔애플리케이션을 사용하여 큐에 정상적으로 작성 및 쓸 수 있습니다.

하지만 웹 작업 응용 프로그램을 실행하면 예외가 발생합니다.

좋은 생각 있어요?

편집: .net 4.6.1 사용

해결책으로 표시된 답은 솔루션이 아니라 실패한 작업입니다.에서 사용하는 솔루션.Net Framework 4.6.1은 App.config의 routime 블록에 추가합니다.

<AppContextSwitchOverrides value="Switch.System.IdentityModel.DisableMultipleDNSEntriesInSANCertificate=true" />

경감: X509 Certificate Claim Set (X509 Certificate Claim SetFind Claims 메서드

현재 Azure WebApps/WebJob 등은 4.6.1을 지원하지 않습니다(2016년 1월 21일에 언급).

즉, 4.6.1로 웹 구인 애플리케이션을 개발할 수 있지만 Azure로 푸시하면 다음과 같은 예외를 볼 수 있습니다.Job failed due to exit code -2146232576

1월 29일 Microsoft는 NuGet 패키지 WindowsAzure 버전 3.1.3을 출시했습니다.서비스 버스

릴리스 노트:

• 일반: .Net 4.6.1+ 호환성 수정.WIF에 의해 반환된 여러 DNS 클레임에 대응하도록 커스텀 DNS Identity Verifier 수정

패키지 업그레이드로 문제가 해결되었습니다.

위의 답변에서 개략적으로 설명한 바와 같이, 아래의 스니펫이 도움이 됩니다.

<runtime>
    ...
    <AppContextSwitchOverrides value="Switch.System.DisableMultipleDNSEntriesInSANCertificate=true" />
    ...
<runtime>

다만, 솔루션의 올바른 프로젝트에 추가할 때는 주의해 주세요.Azure 코드 및 Azure 참조가 포함된 프로젝트에 추가합니다.

Microsoft는 이 문제를 해결하기 위해 새로운 패키지(새로운 이름으로)를 출시했습니다.그래서...

  • 을 제거하다Microsoft.AspNet.SignalR.ServiceBus패키지,
  • 를 인스톨 합니다.Microsoft.AspNet.SignalR.ServiceBus3대신 패키지,
  • 를 업그레이드하다WindowsAzure.ServiceBus패키지.

자세한 내용은 이쪽:https://github.com/SignalR/SignalR/issues/3548#issuecomment-296326048

.net 4.6.1에서4.6으로 다운그레이드하면 문제가 발생하지 않을 것으로 보입니다.

오늘 이 문제에 부딪혔는데 전혀 몰랐어요.마지막으로 현재 사용하고 있는 Azure nuget 패키지(Webjobs, servicebus 등)와 BOOM! it WORKS를 모두 업그레이드하기로 했습니다.앞으로 이 문제에 직면하게 되면 도움이 될 것입니다.

업데이트한 후부터 실패하기 시작했습니다.NET Framework를 4.5.2에서 4.7로 수정한 것은 Nuget 패키지 WindowsAzure 업데이트뿐입니다.5.2.0에 대한 ServiceBus

언급URL : https://stackoverflow.com/questions/34329056/azure-webjobs-servicebus-returns-exception-found-2-dns-claims-in-authorization

반응형