HTTP 요청 재작성이 클라이언트에서 들어오는 HTTP 요청에 적용됩니다.
사전 요구 사항
계층 7 HTTP 가상 서버를 사용할 수 있는지 확인합니다. 계층 7 HTTP 가상 서버 추가 항목을 참조하십시오.
로드 밸런서 규칙은 일치 유형에 대해 정규식을 지원합니다. PCRE 스타일 REGEX 패턴이 지원되지만 고급 사용 사례에 대한 몇 가지 제한 사항이 있습니다. REGEX가 일치 조건에서 사용되면 명명된 캡처링 그룹이 지원됩니다. 로드 밸런서 규칙의 정규식 항목을 참조하십시오.
프로시저
- 계층 7 HTTP 가상 서버를 엽니다.
- [로드 밸런서 규칙] 섹션에서 [요청 재작성 단계] 옆에 있는 를 클릭하여 HTTP 요청 재작성 단계에 대한 로드 밸런서 규칙을 구성합니다.
- 드롭다운 목록에서 일치 조건을 선택합니다. 일치 조건은 로드 밸런서를 통과하는 애플리케이션 트래픽을 일치시키는 데 사용됩니다. 하나의 로드 밸런서 규칙에 여러 일치 조건을 지정할 수 있습니다. 각 일치 조건은 애플리케이션 트래픽에 대한 기준을 정의합니다.
지원되는 일치 조건 설명 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 본문 값을 비교할 때 대/소문자가 중요합니다. - 드롭다운 메뉴에서 일치 유형으로 다음으로 시작, 다음으로 끝남, 같음, 다음 포함 또는 일치 정규식 중 하나를 선택합니다. 일치 유형은 지정된 작업과 조건을 일치시키는 데 사용됩니다.
일치 유형 설명 다음으로 시작 일치 조건이 지정된 값으로 시작하면 조건이 일치합니다. 다음으로 끝남 일치 조건이 지정된 값으로 끝나는 경우 조건이 일치합니다. 다음과 같음: 일치 조건이 지정된 값과 동일한 경우 조건이 일치합니다. 다음 포함 일치 조건에 지정된 값이 포함된 경우 조건이 일치합니다. 정규식 일치 일치 조건이 지정된 값과 일치하면 조건이 일치합니다. - URI를 지정합니다.
- 드롭다운 메뉴에서 일치 전략을 선택합니다.
전략 일치 설명 임의 이 규칙을 일치 항목으로 간주하기 위해 호스트 또는 경로가 일치할 수 있음을 나타냅니다. 모두 이 규칙을 일치 항목으로 간주하기 위해 호스트 및 경로가 둘 다 일치해야 함을 나타냅니다.
- 드롭다운 메뉴에서 작업을 선택합니다.
작업 설명 HTTP 요청 URI 재작성 이 작업은 일치하는 HTTP 요청 메시지에서 URI를 다시 쓰는 데 사용됩니다. 일치하는 HTTP 요청 메시지의 URI 및 URI 인수를 새 값으로 다시 작성하려면 이 조건에 URI 및 URI 인수를 지정합니다. HTTP 메시지의 전체 URI 체계는 Scheme:[//[user[:password]@]host[:port]][/path][?query][#fragment] 구문을 사용합니다. 이 작업의 URI 필드는 위 체계에서 /path 부분을 다시 쓰는 데 사용됩니다. [URI 인수] 필드는 쿼리 부분을 다시 쓰는 데 사용됩니다. 캡처한 변수와 기본 제공 변수는 [URI] 및 [URI 인수] 필드에서 사용할 수 있습니다.
- HTTP 요청의 URI를 입력합니다.
- 일반적으로 키 값 쌍이 포함된 URI의 쿼리 문자열을 입력합니다(예: foo1=bar1&foo2=bar2).
HTTP 요청 헤더 재작성 이 작업은 일치하는 HTTP 요청 메시지의 헤더 필드를 지정된 새 값으로 다시 쓰는 데 사용됩니다.
- 헤더 텍스트 상자 HTTP 요청 메시지의 이름을 입력합니다.
- 헤더 값을 입력합니다.
HTTP 요청 헤더 삭제 이 작업은 HTTP_REQUEST_REWRITE 단계에서 HTTP 요청 메시지의 헤더 필드를 삭제하는 데 사용됩니다. 하나의 작업을 사용하여 동일한 헤더 이름을 갖는 모든 헤더를 삭제할 수 있습니다. 다른 헤더 이름을 갖는 헤더를 삭제하려면 여러 작업을 정의해야 합니다.
- HTTP 요청 메시지의 헤더 필드 이름을 입력합니다.
변수 할당 변수를 생성하고 이름 및 값을 할당합니다. - 대/소문자 구분 버튼을 전환하여 HTTP 헤더 값 비교에 대/소문자 구분 플래그를 설정합니다.
- 사용하도록 설정하려면 부정 버튼을 전환합니다.
- 저장 및 적용을 클릭합니다.