HTTP 요청 재작성이 클라이언트에서 들어오는 HTTP 요청에 적용됩니다.

사전 요구 사항

계층 7 HTTP 가상 서버를 사용할 수 있는지 확인합니다. 계층 7 HTTP 가상 서버 추가 항목을 참조하십시오.

로드 밸런서 규칙은 일치 유형에 대해 정규식을 지원합니다. PCRE 스타일 REGEX 패턴이 지원되지만 고급 사용 사례에 대한 몇 가지 제한 사항이 있습니다. REGEX가 일치 조건에서 사용되면 명명된 캡처링 그룹이 지원됩니다. 로드 밸런서 규칙의 정규식 항목을 참조하십시오.

프로시저

  1. 계층 7 HTTP 가상 서버를 엽니다.
  2. [로드 밸런서 규칙] 섹션에서 [요청 재작성 단계] 옆에 있는 설정 > 규칙 추가를 클릭하여 HTTP 요청 재작성 단계에 대한 로드 밸런서 규칙을 구성합니다.
  3. 드롭다운 목록에서 일치 조건을 선택합니다. 일치 조건은 로드 밸런서를 통과하는 애플리케이션 트래픽을 일치시키는 데 사용됩니다. 하나의 로드 밸런서 규칙에 여러 일치 조건을 지정할 수 있습니다. 각 일치 조건은 애플리케이션 트래픽에 대한 기준을 정의합니다.
    지원되는 일치 조건 설명
    HTTP 요청 메서드 HTTP 요청 메서드를 일치시킵니다.

    http_request.method - 일치시킬 값

    HTTP 요청 URI 쿼리 인수 없이 HTTP 요청 URI를 일치시킵니다.

    http_request.uri - 일치시킬 값

    HTTP 요청 URI 인수

    URI 인수(즉 HTTP 요청 메시지의 쿼리 문자열)를 일치시키는 데 사용됩니다. 예를 들어 URI http://exaple.com?foo=1&bar=2에서 "foo=1&bar=2”는 URI 인수를 포함하는 쿼리 문자열입니다. URI 체계에서 쿼리 문자열은 첫 번째 물음표("?") 문자로 표시되고 숫자 기호("#") 문자 또는 URI의 끝으로 종료됩니다.

    http_request.uri_arguments - 일치시킬 값

    HTTP 요청 버전 Http 요청 메시지의 HTTP 프로토콜 버전을 일치시키는 데 사용됩니다.

    http_request.version - 일치시킬 값

    HTTP 요청 헤더 HTTP 헤더 필드를 기준으로 HTTP 요청 메시지를 일치시키는 데 사용됩니다. HTTP 헤더 필드는 HTTP 요청 및 응답 메시지의 헤더 섹션에 있는 구성 요소입니다. HTTP 트랜잭션의 작동 매개 변수를 정의합니다.

    http_request.header_name - 일치시킬 헤더 이름

    http_request.header_value - 일치시킬 값

    HTTP 요청 쿠키 특정 유형의 HTTP 헤더에 해당하는 쿠키를 기준으로 HTTP 요청 메시지를 일치시키는 데 사용됩니다. match_type 및 case_sensitive는 쿠키 값 비교 방법을 정의합니다.

    http_request.cookie_value - 일치시킬 값

    HTTP 요청 본문 HTTP 요청 본문 컨텐츠를 일치시킵니다.

    http_request.body_value - 일치시킬 값

    클라이언트 SSL 클라이언트 SSL 프로파일 ID를 일치시킵니다.

    ssl_profile_id - 일치시킬 값

    TCP 헤더 포트 TCP 소스 또는 대상 포트를 일치시킵니다.

    tcp_header.source_port - 일치시킬 소스 포트

    tcp_header.destination_port - 일치시킬 대상 포트
    IP 헤더 소스 HTTP 메시지의 IP 헤더 필드를 일치시킵니다. 소스 유형은 단일 IP 주소, IP 주소 범위 또는 그룹이어야 합니다. 그룹 추가 항목을 참조하십시오.
    • IP 헤더 소스를 선택한 경우 IP 주소 소스 유형을 사용하면 HTTP 메시지의 소스 IP 주소는 그룹에 구성된 IP 주소와 일치해야 합니다. IPv4 및 IPv6 주소가 둘 다 지원됩니다.
    • 그룹 소스 유형으로 IP 헤더 소스를 선택한 경우 드롭다운 목록에서 그룹을 선택합니다.

    ip_header.source_address - 일치시킬 소스 주소

    ip_header.destination_address - 일치시킬 대상 주소
    변수 변수를 생성하고 변수에 값을 할당합니다.
    대/소문자 구분 HTTP 헤더 값 비교에 대/소문자 구분 플래그를 설정합니다. True이면 HTTP 본문 값을 비교할 때 대/소문자가 중요합니다.
  4. 드롭다운 메뉴에서 일치 유형으로 다음으로 시작, 다음으로 끝남, 같음, 다음 포함 또는 일치 정규식 중 하나를 선택합니다. 일치 유형은 지정된 작업과 조건을 일치시키는 데 사용됩니다.
    일치 유형 설명
    다음으로 시작 일치 조건이 지정된 값으로 시작하면 조건이 일치합니다.
    다음으로 끝남 일치 조건이 지정된 값으로 끝나는 경우 조건이 일치합니다.
    다음과 같음: 일치 조건이 지정된 값과 동일한 경우 조건이 일치합니다.
    다음 포함 일치 조건에 지정된 값이 포함된 경우 조건이 일치합니다.
    정규식 일치 일치 조건이 지정된 값과 일치하면 조건이 일치합니다.
  5. URI를 지정합니다.
  6. 드롭다운 메뉴에서 일치 전략을 선택합니다.
    전략 일치 설명
    임의 이 규칙을 일치 항목으로 간주하기 위해 호스트 또는 경로가 일치할 수 있음을 나타냅니다.
    모두

    이 규칙을 일치 항목으로 간주하기 위해 호스트 및 경로가 둘 다 일치해야 함을 나타냅니다.

  7. 드롭다운 메뉴에서 작업을 선택합니다.
    작업 설명
    HTTP 요청 URI 재작성

    이 작업은 일치하는 HTTP 요청 메시지에서 URI를 다시 쓰는 데 사용됩니다. 일치하는 HTTP 요청 메시지의 URI 및 URI 인수를 새 값으로 다시 작성하려면 이 조건에 URI 및 URI 인수를 지정합니다. HTTP 메시지의 전체 URI 체계는 Scheme:[//[user[:password]@]host[:port]][/path][?query][#fragment] 구문을 사용합니다. 이 작업의 URI 필드는 위 체계에서 /path 부분을 다시 쓰는 데 사용됩니다. [URI 인수] 필드는 쿼리 부분을 다시 쓰는 데 사용됩니다. 캡처한 변수와 기본 제공 변수는 [URI] 및 [URI 인수] 필드에서 사용할 수 있습니다.

    1. HTTP 요청의 URI를 입력합니다.
    2. 일반적으로 키 값 쌍이 포함된 URI의 쿼리 문자열을 입력합니다(예: foo1=bar1&foo2=bar2).
    HTTP 요청 헤더 재작성

    이 작업은 일치하는 HTTP 요청 메시지의 헤더 필드를 지정된 새 값으로 다시 쓰는 데 사용됩니다.

    1. 헤더 텍스트 상자 HTTP 요청 메시지의 이름을 입력합니다.
    2. 헤더 값을 입력합니다.
    HTTP 요청 헤더 삭제

    이 작업은 HTTP_REQUEST_REWRITE 단계에서 HTTP 요청 메시지의 헤더 필드를 삭제하는 데 사용됩니다. 하나의 작업을 사용하여 동일한 헤더 이름을 갖는 모든 헤더를 삭제할 수 있습니다. 다른 헤더 이름을 갖는 헤더를 삭제하려면 여러 작업을 정의해야 합니다.

    • HTTP 요청 메시지의 헤더 필드 이름을 입력합니다.
    변수 할당 변수를 생성하고 이름 및 값을 할당합니다.
  8. 대/소문자 구분 버튼을 전환하여 HTTP 헤더 값 비교에 대/소문자 구분 플래그를 설정합니다.
  9. 사용하도록 설정하려면 부정 버튼을 전환합니다.
  10. 저장적용을 클릭합니다.