Azure API Management 문제 해결 시리즈에 대한 문서를 참조하면 랩의 첫 번째 시나리오입니다. 이에 따라 랩 설정 지침을 따라 문제를 다시 만들어야 합니다.
원래 제품 버전: API Management 서비스
원래 KB 번호: 4464936
증상
API Blank API는 GetHeaders와 GetMyIp의 두 가지 작업으로 구성됩니다. GetMyIp 는 X-FORWARDED-FOR 헤더 값의 값을 반환하고 GetHeaders는 모든 요청 헤더 값을 반환합니다. GetMyIp 은 예상 출력을 반환하지만 갑자기 GetHeaders 가 빈 응답(응답 본문 없음)을 반환하기 시작했습니다.
GetHeaders API의 예상 출력은 다음과 같아야 합니다.
{
"headers": {
"Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
"Accept-Encoding": "gzip, deflate",
"Accept-Language": "en-US,en;q=0.5",
"Connection": "close",
"Cookie": "_gauges_unique_day=1; _gauges_unique_month=1; _gauges_unique_year=1; _gauges_unique=1",
"Host": "eu.httpbin.org",
"Upgrade-Insecure-Requests": "1",
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:59.0) Gecko/20100101 Firefox/59.0"
}
}
문제 해결 단계
이러한 종류의 문제를 디버그하기 위해 가장 좋은 방법은 APIM 검사기 추적을 수집하여 APIM 파이프라인 내에서 요청 처리를 검사하는 것입니다.
- 추적을 살펴보면 전달 요청 정책이 누락된 것을 알 수 있습니다.
- 전달 요청 정책은 들어오는 요청을 요청 컨텍스트에 지정된 백 엔드 서비스로 전달합니다.
- 요청에서 이 정책을 제거하면 백 엔드 서비스로 전달되지 않고 인바운드 섹션에 있는 정책이 성공적으로 완료되는 즉시 아웃바운드 섹션에 있는 정책이 평가됩니다.
- 따라서 Blank-API<GetHeaders 작업의 백 엔드> 섹션을 확인하면 전달 요청 정책이 제거됩니다.
- 백 엔드 섹션에 정방향 요청 정책을 추가하거나 기본/<>문제를 해결해야 하는 부모 수준(즉, API 수준)에서 전달 요청 정책을 상속합니다.
자세한 내용은 전달 요청 정책에 대해 읽어보세요.
도움을 요청하십시오.
질문이 있는 경우 Azure 커뮤니티 지원을 요청할 수 있습니다. Azure 피드백 커뮤니티에 제품 피드백을 제출할 수도 있습니다.