종합 모니터링은 다양한 인증 메커니즘을 지원합니다. 선택한 모니터 유형에 따라 기본, 다이제스트, NTLM 및 NTLMv2가 포함됩니다.
모니터 종류별 인증 지원
다양한 모니터 유형 에 대한 지원은 사이트 구성에 따라 다를 수 있습니다.
팁
NTLM 및 NTLMv2의 경우 합성 모니터링은 Linux 환경에서 Chrome 브라우저를 사용하므로 구성이 이 클라이언트 측 환경과 호환되어야 합니다. 또한 URI로 인코딩된 자격 증명을 허용해야 합니다.
인증 자격 증명 제공
모니터는 요청된 URL(예: http(s)://username:password@site.com
)로 인코딩하여 인증 자격 증명을 제공합니다. 이렇게 하려면 스크립트에서 encodeURIComponent('string')
JavaScript 함수를 사용하십시오. 예를 들어:
var username = encodeURIComponent("username");var password = encodeURIComponent("password");var url = "https://" + username + ":" + password + "@site.com";
ping 또는 단순 브라우저 모니터에 대한 값을 인코딩하려면 다음 지침 을 따르십시오.
전체 URL http(s)://username:password@site.com
은 해당 합성의 수표 데이터에 일반 텍스트로 기록됩니다. 이 모니터에 대한 결과를 볼 때 URL이 표시됩니다.
코드 예제
다음은 일부 모니터 유형에 대한 코드 예입니다.
스크립트 브라우저
$browser.get("https://username:password@site.com").then(function () { $browser.takeScreenshot();});
$browser.get("https://username@domain.com:password@site.com").then(function () { $browser.takeScreenshot();});
API 테스트
$http.get("https://username:password@site.com", function (err, resp, body) { console.log(err, resp, body);});
NTLM 인증 문제 해결
New Relic이 curl 또는 스크립트 API 모니터를 사용하여 NTLM 끝점에 대해 올바르게 인증할 수 있는지 확인할 수 있습니다. 엔드포인트에 액세스할 수 있는 호스트 또는 위치를 사용해야 합니다.
곱슬 곱슬하다
이렇게 하려면 URL을 테스트하려는 엔드포인트로 교체하여 다음 명령을 실행합니다.
$curl -v --ntlm http://example.com
해당 명령의 출력에서 다음과 같은 response
헤더가 표시되어야 하며, 이는 서버가 유효한 인증 메커니즘으로 HTTP를 통한 NTLM을 제공하고 있음을 알려줍니다.
WWW-Authenticate: NTLM
스크립팅된 API 모니터
새 API 테스트 모니터를 만들고 엔드포인트에 액세스할 수 있는 위치에 할당합니다. URL을 바꾸고 모든 응답 헤더를 스크립트 로그에 인쇄하는 다음 스크립트의 유효성을 검사합니다.
$http.get("https://www.newrelic.com", { followRedirect: false, }, // Callback function (err, response, body) { console.log(response.headers); });
WWW-Authenticate 응답 헤더에 NTLM이 포함되어 있는지 확인합니다.
리디렉션
NTLM 인증 실패는 리디렉션을 초래하는 $browser.get
호출로 인해 발생할 수 있습니다. 모니터 결과의 타임라인 보기에서 요청에 대한 응답 코드를 확인하십시오. 요청이 리디렉션되는 경우 초기 $browser.get
호출에서 리디렉션 위치를 URL로 대신 사용해야 할 수 있습니다.