AEM 링크 검사기 비활성화

이 문서에서는 CPU 프로파일링 및 스레드 덤프 분석 중 링크 검사가 성능에 영향을 주는 Adobe Experience Manager 문제를 해결합니다.

설명 description

환경

Experience Manager 6.4

문제/증상

링크가 끊겼을 때 링크 검사기가 아무 작업도 하지 않도록 구성된 경우, 외부 링크 검사기가 링크의 유효성을 검사하지 못하도록 하려면 어떻게 해야 합니까? CPU 프로파일링 및 스레드 덤프 분석 시 링크 검사가 성능에 영향을 주므로 꺼야 합니다.

배경: AEM에서 사이트를 로드할 때마다 링크 검사기는 모든 컨텐츠 페이지에 포함된 링크를 자동으로 확인하고 각 링크를 [유효함] 또는 [잘못됨]으로 표시합니다.

로그에 링크 검사기 경고 수가 너무 많아져서 인스턴스 또는 사이트 속도가 느려질 수 있습니다.  일부 링크 검사를 비활성화하는 결정을 내릴 수 있습니다.

참고:  링크 검사기는 게시 인스턴스에서 활성화하면 안 됩니다.

해결 방법 resolution

AEM에서 링크 검사기를 비활성화하거나 구성하여 유효한 링크로 표시하는 방법

  1. 페이지에서 링크 검사를 비활성화합니다.

    • a 태그x-cq-linkchecker="valid" 매개 변수를 추가하여 링크 검사기에서 링크를 항상 유효한 것으로 표시하는지 확인하십시오.

    • 필요한 경우 태그 링크 검사기에서 x-cq-linkchecker="skip"을(를) 사용하면 유효성 검사도 수행되지 않습니다.

  2. AEM 웹 콘솔 을 통해 링크 검사기를 완전히 사용하지 않도록 설정합니다.

    • AEM 웹 콘솔 구성 1에 액세스합니다.

    • 일 CQ 링크 검사기 변환기 를 검색합니다.

    • 검사 사용 안 함 상자를 선택하고 [저장]을 클릭합니다.

  3. 특정 도메인에 대한 링크 검사 비활성화:

    • AEM 웹 콘솔 구성 1에 액세스합니다.

    • 일 CQ 링크 검사기 서비스 를 검색합니다.

    • 링크 검사 재정의 패턴 매개 변수를 편집합니다.

예 1: system/

시스템으로 시작하는 모든 외부 링크는 검사되지 않습니다. +를 클릭하여 이 섹션에 추가 무시 패턴을 추가합니다.

예 2:

이렇게 하면 모든 링크가 앞으로 이동할 수 있는 유효한 링크로 표시됩니다.

권장: 링크 검사기에서 URL을 다시 확인하지 않도록 /var/linkchecker 아래의 모든 노드를 삭제합니다.

{1}http://[ host] :[ port] /system/console/configMgr

참고: service.special_link_patterns를 사용하는 경우 링크 검사기는 URL이 문자 및 구조 측면에서 유효한지 계속 확인합니다.

외부 링크 검사를 프로그래밍 방식으로 사용하지 않도록 설정

페이지 구성 요소 jsp에 이 코드를 추가하면 LinkCheckerSettings.fromRequest(slingRequest).setIgnoreExternals(true을(를) 호출하여 외부 링크 확인이 수행되지 않습니다. 대부분의 경우 작성자가 아닌 게시 인스턴스에서만 구현합니다. 다음은 이를 보여 주는 몇 가지 코드입니다.

<%org.apache.sling.runmode.RunMode runmode = sling.getService(org.apache.sling.runmode.RunMode.class);
String[ ]  runmodes = runmode.getCurrentRunModes();
boolean isPublish = false;
String [ ]  expectedRunModes = {"publish"};
if(runmode.isActive(expectedRunModes)) {
isPublish = true;
}

if(isPublish) {
LinkCheckerSettings s = LinkCheckerSettings.fromRequest(slingRequest);
s.setIgnoreExternals(true);
}
%>

특정 구성 요소 또는 페이지 일부에 대한 링크 검사만 비활성화하려면 다음 코드를 사용하여 다시 활성화할 수 있습니다.

<%
s.setIgnoreExternals(false);
%
recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f