참조 스팸 차단

다음 예제에서는 사용자 지정 VCL 코드 조각으로 Fastly Edge 사전을 구성하여 클라우드 인프라 사이트의 Adobe Commerce에서 조회 스팸을 차단하는 방법을 보여 줍니다.

NOTE
프로덕션 환경에서 실행하기 전에 사용자 지정 VCL 구성을 테스트할 수 있는 스테이징 환경에 추가하는 것이 좋습니다.

필수 구성 요소:

  • Fastly CDN을 사용하도록 환경을 구성해야 합니다. Fastly 서비스 구성을 참조하세요.

  • Magento 2에 대한 Fastly CDN 모듈의 최신 버전을 실행 중인지 확인하십시오. Fastly 모듈 업그레이드를 참조하십시오.

  • Fastly 서비스에 대한 환경 구성을 확인합니다. Fastly 캐싱 확인을 참조하세요.

  • 스테이징 및 프로덕션 환경에 액세스하려면 관리자 자격 증명이 있어야 합니다.

  • 사이트 로그에서 가짜 참조 URL을 검토하고 차단할 도메인 목록을 만드십시오.

레퍼러 차단 목록 만들기

Edge 사전은 VCL 코드 조각을 처리하는 동안 VCL 함수에 액세스할 수 있는 키-값 쌍을 만듭니다. 이 예제에서는 차단할 레퍼러 웹 사이트 목록을 제공하는 에지 사전을 만듭니다.

  1. 책임자에 로그인.

  2. 스토어 > 설정 > 구성 > 고급 > 시스템 ​을 클릭합니다.

  3. 전체 페이지 캐시 > 가장 빠른 구성 > Edge 사전 ​을 확장합니다.

  4. 사전 컨테이너를 만듭니다.

    • 컨테이너 추가 ​를 클릭합니다.

    • 컨테이너 페이지에서 사전 이름referrer_blocklist을 입력하십시오.

    • 편집 중인 Fastly 서비스 구성 버전에 변경 내용을 배포하려면 변경 후 활성화 ​를 선택하십시오.

    • 사전을 Fastly 서비스 구성에 첨부하려면 업로드 ​를 클릭하십시오.

  5. referrer_blocklist 사전에 차단할 도메인 이름 목록을 추가하십시오.

    • referrer_blocklist 사전에 대한 설정 아이콘을 클릭합니다.

    • 새 사전에 키-값 쌍을 추가 및 저장합니다. 이 예제에서 각 Key ​은(는) 차단할 레퍼러 URL의 도메인 이름이고 Value ​은(는) true입니다.

      잘못된 레퍼러 사전 항목 추가

    • 시스템 구성 페이지로 돌아가려면 취소 ​를 클릭하십시오.

  6. 구성 저장 ​을 클릭합니다.

  7. 페이지 상단의 알림에 따라 캐시를 새로 고칩니다.

Edge 사전에 대한 자세한 내용은 Fastly 설명서에서 Edge 사전 만들기 및 사용사용자 지정 VCL 코드 조각을 참조하십시오.

레퍼러 스팸을 차단하는 사용자 지정 VCL 코드 조각 만들기

다음 사용자 지정 VCL 코드 조각 코드(JSON 형식)는 요청을 확인하고 차단하는 논리를 보여 줍니다. VCL 코드 조각은 레퍼러 웹 사이트의 호스트를 헤더로 캡처한 다음 호스트 이름을 referrer_blocklist 사전의 URL 목록과 비교합니다. 호스트 이름이 일치하면 403 Forbidden 오류가 발생하여 요청이 차단됩니다.

{
  "name": "block_bad_referrer",
  "dynamic": "0",
  "type": "recv",
  "priority": "5",
  "content": "set req.http.Referer-Host = regsub(req.http.Referer, \"^https?:\/\/?([^:\/s]+).*$\", \"\\1\"); if (table.lookup(referrer_blocklist, req.http.Referer-Host)) { error 403 \"Forbidden\"; }"
}

이 예제를 기반으로 코드 조각을 만들기 전에 값을 검토하여 변경해야 하는지 여부를 결정합니다.

  • name — VCL 코드 조각의 이름입니다. 이 예제에서는 block_bad_referrer을(를) 사용했습니다.

  • dynamic — 값 0은 Fastly 구성을 위해 버전이 지정된 VCL에 업로드할 일반 코드 조각을 나타냅니다.

  • priority — VCL 코드 조각이 실행되는 시기를 결정합니다. 기본 Magento VCL 코드 조각(magentomodule_*)에 우선 순위 50이 할당되기 전에 이 코드 조각 코드를 실행하는 우선 순위는 5입니다. 코드 조각을 실행할 시기에 따라 각 사용자 지정 코드 조각의 우선 순위를 50보다 높거나 낮게 설정합니다. 우선 순위가 낮은 번호가 있는 코드 조각이 먼저 실행됩니다.

  • type — VCL 버전에 코드 조각을 삽입할 위치를 지정합니다. 이 예에서 VCL 코드 조각은 recv 코드 조각입니다. 코드 조각이 VCL 버전에 삽입되면 기본 Fastly VCL 코드 아래 및 개체 위의 vcl_recv 서브루틴에 추가됩니다.

  • content - 한 줄에서 실행되는 줄 바꿈 없이 VCL 코드 조각입니다.

환경에 대한 코드를 검토하고 업데이트한 후 다음 방법 중 하나를 사용하여 사용자 지정 VCL 코드 조각을 Fastly 서비스 구성에 추가합니다.

사용자 지정 VCL 코드 조각 추가

  1. 책임자에 로그인.

  2. 스토어 > 설정 > 구성 > 고급 > 시스템 ​을 클릭합니다.

  3. 전체 페이지 캐시 > 빠른 구성 > 사용자 지정 VCL 조각 ​을 확장합니다.

  4. 사용자 지정 코드 조각 만들기 ​를 클릭합니다.

  5. VCL 코드 조각 값을 추가합니다.

    • 이름block_bad_referrer

    • 유형recv

    • 우선 순위5

    • VCL 코드 조각 콘텐츠 —

      code language-conf
      set req.http.Referer-Host = regsub(req.http.Referer,
      "^https?://?([^:/\s]+).*$", "1");
      if (table.lookup(referrer_blocklist, req.http.Referer-Host)) {
        error 403 "Forbidden";
      }
      
  6. 만들기 ​를 클릭합니다.

    사용자 지정 레퍼러 블록 VCL 코드 조각 만들기

  7. 페이지가 다시 로드되면 Fastly 구성 섹션에서 Fastly에 VCL 업로드 ​를 클릭합니다.

  8. 업로드가 완료되면 페이지 상단의 알림에 따라 캐시를 새로 고칩니다.

업로드 프로세스 중에 업데이트된 VCL 버전을 빠르게 확인합니다. 유효성 검사가 실패하면 사용자 지정 VCL 코드 조각을 편집하여 문제를 해결하십시오. 그런 다음 VCL을 다시 업로드합니다.

NOTE
사용자 지정 VCL 코드 조각을 수동으로 업로드하는 대신 사용자 환경의 $MAGENTO_CLOUD_APP_DIR/var/vcl_snippets_custom 디렉터리에 코드 조각을 추가할 수 있습니다. Commerce 관리자에서 VCL을 Fastly로 업로드 ​를 클릭하면 이 디렉터리의 스니펫이 자동으로 업로드됩니다. Magento 2 설명서는 Fastly CDN 모듈의 자동화된 사용자 지정 VCL 코드 조각 배포를 참조하십시오.

사용자 지정 VCL 코드 조각 수정

  1. 책임자에 로그인.

  2. 스토어 > 설정 > 구성 > 고급 > 시스템 ​을 클릭합니다.

  3. 전체 페이지 캐시 > 빠른 구성 > 사용자 지정 VCL 조각 ​을 확장합니다.

    사용자 지정 VCL 코드 조각 관리

  4. Action 열에서 편집할 코드 조각 옆에 있는 설정 아이콘을 클릭합니다.

  5. 페이지가 다시 로드되면 Fastly 구성 섹션에서 Fastly에 VCL 업로드 ​를 클릭합니다.

  6. 업로드가 완료되면 페이지 상단의 알림에 따라 캐시를 새로 고칩니다.

WARNING
사용자 지정 VCL 코드 조각 UI 옵션은 Adobe Commerce 관리자를 통해 추가된 코드 조각만 표시합니다. Fastly API를 사용하여 코드 조각을 추가하는 경우 API를 사용하여 관리하세요.

사용자 지정 VCL 코드 조각 삭제

  1. 책임자에 로그인.

  2. 스토어 > 설정 > 구성 > 고급 > 시스템 ​을 클릭합니다.

  3. 전체 페이지 캐시 > 빠른 구성 > 사용자 지정 VCL 조각 ​을 확장합니다.

    사용자 지정 VCL 코드 조각 관리

  4. Action 열에서 삭제할 코드 조각 옆에 있는 휴지통 아이콘을 클릭합니다.

  5. 다음 모달 창에서 DELETE ​를 클릭하고 새 버전을 활성화합니다.

WARNING
사용자 지정 VCL 코드 조각 UI 옵션은 Adobe Commerce 관리자를 통해 추가된 코드 조각만 표시합니다. Fastly API를 사용하여 코드 조각을 추가하는 경우 API를 사용하여 관리하세요.
recommendation-more-help
05f2f56e-ac5d-4931-8cdb-764e60e16f26