당사의 브라우저 모니터링 기능을 갖춘 강력한 독립형 제품을 제공하기 위한 엄격한 보안 조치가 포함되어 있습니다. 브라우저 에이전트를 설치하기 전에 시스템이 이러한 요구 사항을 충족하는지 확인하세요.
기본 요구 사항
New Relic에 데이터를 보고하려면 애플리케이션이 두 가지 기본 요구 사항을 충족해야 합니다.
- 애플리케이션에 대한 트래픽은 브라우저 JavaScript 코드를 로드하고 실행할 수 있는 클라이언트에서 발생해야 합니다.
- 애플리케이션에 액세스하는 클라이언트는 HTTP 요청을 통해 New Relic에 데이터를 보낼 수 있어야 합니다. 고급 브라우저 모니터링 기능을 사용하려면 HTTPS가 필요합니다.
중요
연결 해제 목록을 구독하거나 AdBlock과 같은 콘텐츠 필터링 확장 프로그램을 사용하는 브라우저는 New Relic에 데이터를 보고하지 못할 수 있습니다. 예를 들어 Mozilla Firefox 69.0 이상 에 대해 향상된 추적 방지 연결 해제 목록을 사용하는 경우 기본 구성을 변경해야 합니다.
대부분의 일반적인 브라우저 애플리케이션은 이러한 요구 사항을 충족하지만 제한된 환경의 일부 브라우저 애플리케이션은 New Relic에 데이터를 보고하는 데 어려움을 겪을 수 있습니다. 예를 들어:
- 하이브리드 모바일 애플리케이션
- POS 단말기 또는 소비자 가전제품과 같은 비정상적인 하드웨어에 설치된 애플리케이션
자세한 내용은 브라우저 모니터링 문서의 계측을 검토한 후 최종 사용자 네트워크 액세스를 확인하세요.
지원되는 브라우저
브라우저 에이전트는 공식적으로 다음 브라우저 버전을 지원합니다.
계측 및 특정 기능은 다른 브라우저 또는 버전과 호환될 수 있습니다.
Exceptions | Comments |
---|---|
페인트 타이밍 | , 및
|
아약스 | AJAX 타이밍 기능 은 다음과 함께 사용할 수 없습니다.
|
|
|
세션 추적 | 세션 추적 은 리소스 타이밍 사양 을 지원하는 브라우저에서만 보고됩니다. |
SHA-256 | New Relic은 SHA-256 과 호환되는 브라우저만 모니터링할 수 있습니다. |
중요
쿠키와 함께 브라우저 모니터링을 사용할 때 New Relic의 쿠키는 사이트의 타사 쿠키이며 방문자가 사용하는 특정 웹 브라우저에서 저장하거나 작동하지 않을 수 있습니다. 타사 쿠키와의 호환성에 대한 자세한 내용은 해당 브라우저의 웹사이트를 참조하십시오.
APM 에이전트
앱에 대한 브라우저 모니터링을 배포하는 한 가지 방법은 APM 에이전트 중 하나를 사용하는 것입니다.
APM에서 이미 모니터링 중인 앱용 브라우저를 배포하는 경우 APM 에이전트 버전이 브라우저 모니터링을 지원하는지 확인하세요.
- Go : 버전 2.5.0 이상
- 자바 : 버전 3.4.0 이상
- .NET : 버전 2.20.25.0 이상
- Node.js : 버전 1.4.0 이상
- PHP : 버전 4.4.5.35 이상
- Python : 버전 2.10.1.9 이상
- Ruby : 버전 3.7.0.177 이상
지원되는 프레임워크 및 라이브러리
브라우저 에이전트는 널리 사용되는 많은 프런트엔드 프레임워크 및 라이브러리를 사용하는 사이트에서 데이터를 수집합니다. 브라우저 에이전트는 다른 라이브러리 및 프레임워크에 의해 래핑되거나 수정될 수 있는 하위 수준 JavaScript 개체 및 메서드를 모니터링합니다. 결과적으로 수집된 세부 정보 수준은 프레임워크마다 다를 수 있으며 기본 JavaScript 메커니즘을 수정하는 라이브러리와 충돌이 발생할 수 있습니다.
호환성 예외 | 코멘트 |
---|---|
존.js | AngularJS를 사용 중이고 SPA 모니터링 기능을 사용하려는 경우 Zone.js 버전 0.6.18-0.6.24는 브라우저와 호환되지 않습니다. 모든 경우에 오류를 방지하려면 브라우저 에이전트 must Zone.js보다 먼저 로드됩니다. |
싸이프레스.io | 브라우저는 Cypress에서 테스트를 실행할 때 요청의
이는 코드에 있는 브라우저 에이전트로 테스트를 실행하는 고객에게만 영향을 미칩니다. 프로덕션 애플리케이션은 영향을 받지 않아야 합니다. |
html2pdf.js | 이 라이브러리는 이 라이브러리가 약속을 래핑하는 방식으로 인해 Pro+SPA 에이전트 와 호환되지 않습니다. 이 라이브러리를 사용하는 경우 Pro 에이전트 유형 을 선택하는 것이 좋습니다. |
Moo도구 | 브라우저 에이전트는 |
단일 페이지 앱(SPA) 모니터링
단일 페이지 앱(SPA) 모니터링과 관련된 기능을 사용하려면 앱이 이러한 요구 사항을 충족해야 합니다.
SPA: 브라우저 에이전트 버전
SPA 모니터링에는 브라우저 에이전트 버전 885 이상에서 사용할 수 있는 브라우저 스니펫의 SPA 관련 버전이 필요합니다. 이 버전의 에이전트는 기본적으로 활성화되어 있습니다.
SPA: 브라우저 유형
SPA 모니터링에는 addEventListener
브라우저 API 및 탐색 타이밍 API 가 필요합니다. 두 API 모두 Google Chrome, Mozilla Firefox, Apple Safari 및 Microsoft Internet Explorer(IE) 버전 9 이상을 포함한 모든 최신 브라우저에서 사용할 수 있습니다.
SPA: 프레임워크 요구 사항
SPA 계측은 저수준 브라우저 API를 래핑하여 작동하므로 프레임워크에 구애받지 않습니다. SPA 계측은 Angular, Backbone, Ember 및 React와 같은 대부분의 SPA 프레임워크와 호환됩니다. 또한 JSONP를 사용하여 이루어진 요청을 계측할 수 있습니다.
다음은 알려진 호환성 문제입니다.
- 애플리케이션에서 AngularJS를 사용하고 브라우저의 SPA 모니터링 기능을 사용하려는 경우 Zone.js 버전 0.6.18-0.6.24는 SPA 에이전트와 호환되지 않습니다.
- html2pdf.js 라이브러리는 SPA 에이전트와 호환되지 않습니다.
- Angular 버전 12-14에는 인덱스 HTML 소스에 포함된 개별 스크립트 요소의 크기에 대한 제한이 포함되어 있습니다. 자세한 내용은 이 문제 해결 페이지를 참조하십시오.
- Next.JS는 버전 13.3.2-canary.2 이후로 알려진 비호환성을 가지고 있습니다. 여기서 앱 라우터를 사용하면 페이지의 링크가 작동하지 않을 수 있습니다. 자세한 내용은 이 문제 해결 페이지를 참조하십시오.
SPA: 해시 조각 보안
경로 변경 URL에서 해시 조각을 수집하고 저장합니다. 해시를 사용하여 비공개 또는 민감한 데이터를 전달하는 경우 해당 데이터가 New Relic 계정 사용자에게 표시될 수 있습니다. 데이터 수집 및 보고에 대한 브라우저의 보안지침을 따르십시오.
콘텐츠 보안 정책(CSP) 고려 사항
정확한 브라우저 성능 메트릭을 얻기 위해 브라우저 모니터링에는 작은 인라인 JavaScript 스니펫을사용해야 합니다. New Relic은 XSS(Cross-Site Scripting) 및 기타 잠재적인 취약점을 방지하기 위해 인라인 JavaScript를 신중하게 검토합니다.
콘텐츠 보안 정책 수준 2 는 인라인 스크립트와 같이 허용되는 JavaScript 유형에 대한 제한을 추가합니다. 또한 페이지 로드 중에 스크립트를 로드할 수 있는 도메인을 제한합니다.
중요
웹사이트에서 타사 호스팅 JavaScript 실행을 허용하지 않는 경우 브라우저 모니터링 에이전트를 설치하려면 조직의 표준 절차를 통해 CSP 예외를 요청해야 합니다.
CSP 예외를 요청할 때 조직의 표준 절차에 따라 웹 또는 보안 팀에 문의하세요. 사용 사례에 대한 CSP 예외는 현재 실행 중인 브라우저 에이전트 버전에 따라 다릅니다. 항상 최신 버전의 브라우저 에이전트로 업데이트하는 것이 좋습니다.
이러한 예외를 모두 fallback default-src
지시어( script-src
및 connect-src
대신)에 추가할 수 있습니다. 브라우저 에이전트에는 다음 CSP 예외가 필요합니다.
CSP 예외 | 코멘트 |
---|---|
|
|
|
|
| 에이전트는 계정 유형에 따라 다를 수 있는
|
nonce
지원하다
브라우저 에이전트 1.247.0 부터 에이전트는 추가 코드 청크를 로드할 때 인라인 스크립트에 연결된 nonce
속성을 따릅니다. 사이트 또는 인프라가 인라인 브라우저 에이전트 스크립트에 nonce
속성을 삽입할 수 있는 경우 connect-src
에 대한 CSP 예외만 요청하면 됩니다.
중요
통합된 nonce
지원은 브라우저 에이전트 npm 패키지 사용에 적용되지 않습니다. npm 패키지를 사용하면 에이전트가 사이트 또는 앱 코드의 일부가 됩니다. 로드된 추가 청크는 앱 코드를 통해 수행되며 nonce
속성이 사용되는 시기와 사용 여부를 완전히 제어할 수 있습니다.
브라우저 에이전트를 삽입할 수 있는 일부 APM 에이전트는 삽입된 스크립트에 nonce
속성 추가도 지원합니다.
APM 에이전트 | 최소 버전 | 지원 노트 |
---|---|---|
가다 |
| |
자바 |
| |
.그물 |
| |
노드.js |
| |
루비 |
|
프록시 지원
중요
이 기능은 현재 복사/붙여넣기 또는 npm 브라우저 설치 방법을 사용하는 사용자에게 제공됩니다. 현재 사용 가능한 UI 또는 NerdGraph 구성 옵션이 없습니다. 우리는 이러한 구성 옵션과 기타 구성 옵션에 대한 액세스를 개선하기 위해 계속 노력하고 있습니다.
브라우저 에이전트 1.240.0 부터 에이전트는 사용자가 제어하는 다른 도메인 및 경로 조합을 통해 네트워크 요청을 프록시하도록 구성할 수 있습니다. 프록시 구성 및 CSP 설정에 따라 script-src
및 connect-src
에 New Relic 도메인을 추가하기 위한 예외를 요청할 필요가 없을 수도 있습니다. 에이전트 구성에 대한 가이드를 포함한 자세한 내용은 프록시 문서를 확인하세요.
하위 리소스 무결성(SRI)
브라우저 에이전트는 코드 분할을 활용하여 인라인 코드 조각을 최대한 작게 만듭니다. 에이전트가 작동하는 데 필요한 추가 코드는 CDN(콘텐츠 전송 네트워크)에서 런타임 시 로드됩니다. 브라우저 에이전트 1.247.0 부터 추가 보안 계층으로 에이전트 조각에는 런타임 중에 로드될 수 있는 모든 추가 코드 청크의 해시가 포함됩니다. 이러한 해시는 브라우저에서 CDN에서 로드된 코드가 CDN에서 또는 중간자 공격을 통해 전송되는 동안 실수로 수정되지 않았는지 확인하는 데 사용됩니다.
중요
SRI 해시는 브라우저 에이전트 npm 패키지 사용에 적용되지 않습니다. npm 패키지를 사용하면 에이전트가 사이트 또는 앱 코드의 일부가 되어 생성된 해시를 유효하지 않게 만듭니다.
SRI 보안 작동 방식에 대한 자세한 내용은 이 MDN 문서를 참조하세요.