Azure Event Grid 구독 유효성 검사 문제 해결

이벤트 구독을 만드는 동안 The attempt to validate the provided endpoint https://your-endpoint-here failed. For more details, visit https://aka.ms/esvalidation와 같은 오류 메시지가 표시되는 경우 유효성 검사 핸드셰이크에 오류가 있음을 나타냅니다. 이 오류를 해결하려면 다음과 같은 측면을 확인합니다.

  • CURL 또는 비슷한 도구를 사용하여 샘플 SubscriptionValidationEvent 요청 본문으로 웹후크 URL에 HTTP POST를 수행합니다.
  • 웹후크가 동기 유효성 검사 핸드셰이크 메커니즘을 구현하는 경우 ValidationCode가 응답의 일부로 반환되는지 확인합니다.
  • 웹후크가 비동기 유효성 검사 핸드셰이크 메커니즘을 구현하는 경우 HTTP POST가 200 OK를 반환하는지 확인합니다.
  • 웹후크가 응답에서 403 (Forbidden)을 반환하는 경우 웹후크가 Azure Application Gateway 또는 Web Application Firewall 뒤에 있는지 확인합니다. 그런 경우, 이러한 방화벽 규칙을 사용하지 않도록 설정하고 HTTP POST를 다시 수행해야 합니다.
    • 920300(수락 헤더가 누락된 요청)
    • 942430(제한된 SQL 문자 이상 감지(인수): 특수 문자 # 초과(12))
    • 920230(여러 URL 인코딩 감지)
    • 942130(SQL 삽입 공격: SQL Tautology 감지)
    • 931130(가능한 RFI(원격 파일 포함) 공격 = 오프-도메인 참조/링크)

Important

웹후크의 엔드포인트 유효성 검사에 대한 자세한 내용은 웹후크 이벤트 전달을 참조하세요.

다음은 CURL과 같은 도구를 사용하여 보낼 수 있는 샘플 SubscriptionValidationEvent JSON입니다.

[
  {
    "id": "2d1781af-3a4c-4d7c-bd0c-e34b19da4e66",
    "topic": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "subject": "",
    "data": {
      "validationCode": "512d38b6-c7b8-40c8-89fe-f46f9e9622b6",
    },
    "eventType": "Microsoft.EventGrid.SubscriptionValidationEvent",
    "eventTime": "2018-01-25T22:12:19.4556811Z",
    "metadataVersion": "1",
    "dataVersion": "1"
  }
]

성공적인 응답 예제는 다음과 같습니다.

{
  "validationResponse": "512d38b6-c7b8-40c8-89fe-f46f9e9622b6"
}

Curl을 사용하여 Event Grid 이벤트 구독 유효성 검사

다음은 Event Grid 이벤트의 웹후크 구독 유효성을 검사하기 위한 샘플 Curl 명령입니다.

curl -X POST -d '[{"id": "2d1781af-3a4c-4d7c-bd0c-e34b19da4e66","topic": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx","subject": "","data": {"validationCode": "512d38b6-c7b8-40c8-89fe-f46f9e9622b6"},"eventType": "Microsoft.EventGrid.SubscriptionValidationEvent","eventTime": "2018-01-25T22:12:19.4556811Z", "metadataVersion": "1","dataVersion": "1"}]' -H 'Content-Type: application/json' https://{your-webhook-url.com}

웹후크의 Event Grid 이벤트 유효성 검사에 대한 자세한 내용은 Event Grid 이벤트를 사용하여 엔드포인트 유효성 검사를 참조하세요.

클라우드 이벤트 구독 유효성 검사

클라우드 이벤트를 통한 유효성 검사에 HTTP OPTIONS 메서드를 사용합니다. 웹후크의 클라우드 이벤트 유효성 검사에 대한 자세한 내용은 클라우드 이벤트를 사용하여 엔드포인트 유효성 검사를 참조하세요.

이벤트 구독 유효성 문제 해결

다음 단계

도움이 더 필요한 경우 Stack Overflow 포럼에 문제를 게시하거나 지원 티켓을 여세요.