1.3.5. 경로별 주석


Ingress 컨트롤러는 노출하는 모든 경로에 기본 옵션을 설정할 수 있습니다. 개별 경로는 주석에 특정 구성을 제공하는 방식으로 이러한 기본값 중 일부를 덮어쓸 수 있습니다. Red Hat은 operator 관리 경로에 경로 주석 추가를 지원하지 않습니다.

중요

여러 소스 IP 또는 서브넷이 있는 허용 목록을 만들려면 공백으로 구분된 목록을 사용합니다. 다른 구분 기호 유형으로 인해 경고 또는 오류 메시지 없이 목록이 무시됩니다.

Expand
표 1.3. 경로 주석
변수설명

haproxy.router.openshift.io/balance

로드 밸런싱 알고리즘을 설정합니다. 사용 가능한 옵션은 random,source,roundrobin[1] 및 leastconn 입니다. 기본값은 TLS 패스스루 경로의 source 입니다. 다른 모든 경로의 경우 기본값은 random 입니다.

haproxy.router.openshift.io/disable_cookies

쿠키를 사용하여 관련 연결을 추적하지 않도록 설정합니다. 'true' 또는 'TRUE' 로 설정하면 들어오는 각 HTTP 요청에 대한 백엔드 연결을 제공하는 백엔드를 선택하는 데 밸런스 알고리즘이 사용됩니다.

router.openshift.io/cookie_name

이 경로에 사용할 선택적 쿠키를 지정합니다. 이름은 대문자와 소문자, 숫자, ‘_’, ‘-’의 조합으로 구성해야 합니다. 기본값은 경로의 해시된 내부 키 이름입니다.

haproxy.router.openshift.io/pod-concurrent-connections

라우터에서 백업 pod로 허용되는 최대 연결 수를 설정합니다.
참고: Pod가 여러 개인 경우 각각 이 수만큼의 연결이 있을 수 있습니다. 라우터가 여러 개 있고 조정이 이루어지지 않는 경우에는 각각 이 횟수만큼 연결할 수 있습니다. 설정하지 않거나 0으로 설정하면 제한이 없습니다.

haproxy.router.openshift.io/rate-limit-connections

'true' 또는 'TRUE' 를 설정하면 경로당 특정 백엔드의 고정 테이블을 통해 구현되는 속도 제한 기능이 활성화됩니다.
참고: 이 주석을 사용하면 서비스 거부 공격에 대한 기본 보호 기능이 제공됩니다.

haproxy.router.openshift.io/rate-limit-connections.concurrent-tcp

동일한 소스 IP 주소를 통해 만든 동시 TCP 연결 수를 제한합니다. 숫자 값을 허용합니다.
참고: 이 주석을 사용하면 서비스 거부 공격에 대한 기본 보호 기능이 제공됩니다.

haproxy.router.openshift.io/rate-limit-connections.rate-http

동일한 소스 IP 주소가 있는 클라이언트에서 HTTP 요청을 수행할 수 있는 속도를 제한합니다. 숫자 값을 허용합니다.
참고: 이 주석을 사용하면 서비스 거부 공격에 대한 기본 보호 기능이 제공됩니다.

haproxy.router.openshift.io/rate-limit-connections.rate-tcp

동일한 소스 IP 주소가 있는 클라이언트에서 TCP 연결을 수행할 수 있는 속도를 제한합니다. 숫자 값을 허용합니다.

router.openshift.io/haproxy.health.check.interval

백엔드 상태 점검 간격을 설정합니다. (TimeUnits)

haproxy.router.openshift.io/ip_allowlist

경로에 대한 허용 목록을 설정합니다. 허용 목록은 승인된 소스 주소에 대한 IP 주소 및 CIDR 범위로 이루어진 공백으로 구분된 목록입니다. 허용 목록에 없는 IP 주소의 요청은 삭제됩니다.

haproxy.config 파일에 직접 표시되는 최대 IP 주소 및 CIDR 범위는 61입니다. [2]

haproxy.router.openshift.io/hsts_header

엣지 종단 경로 또는 재암호화 경로에 Strict-Transport-Security 헤더를 설정합니다.

haproxy.router.openshift.io/rewrite-target

백엔드의 요청 재작성 경로를 설정합니다.

router.openshift.io/cookie-same-site

쿠키를 제한하는 값을 설정합니다. 값은 다음과 같습니다.

LAX: 브라우저는 사이트 간 요청에 쿠키를 보내지 않지만 사용자가 외부 사이트에서 원본 사이트로 이동할 때 쿠키를 보냅니다. 이는 SameSite 값이 지정되지 않은 경우 기본 브라우저 동작입니다.

Strict: 브라우저가 동일한 사이트 요청에 대해서만 쿠키를 보냅니다.

none: 브라우저가 교차 사이트 요청과 동일한 사이트 요청에 대해 쿠키를 보냅니다.

이 값은 재암호화 및 엣지 경로에만 적용됩니다. 자세한 내용은 SameSite 쿠키 설명서를 참조하십시오.

haproxy.router.openshift.io/set-forwarded-headers

라우터당 ForwardedX-Forwarded-For HTTP 헤더를 처리하기 위한 정책을 설정합니다. 값은 다음과 같습니다.

append: 기존 헤더를 유지하면서 헤더를 추가합니다. 이는 기본값입니다.

replace: 헤더를 설정하고 기존 헤더를 제거합니다.

never: 헤더를 설정하지 않고 기존 헤더를 유지합니다.

if-none: 아직 설정되지 않은 경우 헤더를 설정합니다.

  1. 기본적으로 라우터는 5s마다 다시 로드되어 처음부터 포드 간에 분산 연결을 재설정합니다. 결과적으로 roundrobin 상태는 다시 로드해도 유지되지 않습니다. 이 알고리즘은 Pod에 거의 동일한 컴퓨팅 용량 및 스토리지 용량이 있는 경우 가장 잘 작동합니다. 예를 들어 CI/CD 파이프라인을 사용하므로 애플리케이션 또는 서비스에서 끝점을 지속적으로 변경한 경우 분산이 일관되지 않을 수 있습니다. 이 경우 다른 알고리즘을 사용하십시오.
  2. 허용 목록의 IP 주소 및 CIDR 범위가 61를 초과하면 haproxy.config 파일에서 참조되는 별도의 파일에 작성됩니다. 이 파일은 /var/lib/haproxy/router/allowlists 폴더에 저장됩니다.

    참고

    주소가 허용 목록에 작성되도록 하려면 전체 CIDR 범위가 Ingress 컨트롤러 구성 파일에 나열되어 있는지 확인합니다. etcd 오브젝트 크기 제한은 경로 주석의 크기를 제한합니다. 이로 인해 허용 목록에 포함할 수 있는 최대 IP 주소 및 CIDR 범위에 대한 임계값이 생성됩니다.

하나의 특정 IP 주소만 허용하는 경로

metadata:
  annotations:
    haproxy.router.openshift.io/ip_allowlist: 192.168.1.10

로드 밸런싱 알고리즘을 leastconn으로 설정하는 경로

metadata:
  annotations:
    haproxy.router.openshift.io/balance: leastconn

  • 기본 로드 밸런싱 알고리즘은 random 입니다.

여러 IP 주소를 허용하는 경로

metadata:
  annotations:
    haproxy.router.openshift.io/ip_allowlist: 192.168.1.10 192.168.1.11 192.168.1.12

IP 주소 CIDR 네트워크를 허용하는 경로

metadata:
  annotations:
    haproxy.router.openshift.io/ip_allowlist: 192.168.1.0/24

IP 주소 및 IP 주소 CIDR 네트워크를 둘 다 허용하는 경로

metadata:
  annotations:
    haproxy.router.openshift.io/ip_allowlist: 180.5.61.153 192.168.1.0/24 10.0.0.0/8

재작성 대상을 지정하는 경로

apiVersion: route.openshift.io/v1
kind: Route
metadata:
  annotations:
    haproxy.router.openshift.io/rewrite-target: / 
1

...

1
/를 백엔드의 요청 재작성 경로로 설정합니다.

경로에 haproxy.router.openshift.io/rewrite-target 주석을 설정하면 Ingress Controller에서 요청을 백엔드 애플리케이션으로 전달하기 전에 이 경로를 사용하여 HTTP 요청의 경로를 재작성해야 합니다. spec.path에 지정된 경로와 일치하는 요청 경로 부분은 주석에 지정된 재작성 대상으로 교체됩니다.

다음 표에 spec.path, 요청 경로, 재작성 대상의 다양한 조합에 따른 경로 재작성 동작의 예가 있습니다.

Expand
표 1.4. 재작성 대상 예
Route.spec.path요청 경로재작성 대상전달된 요청 경로

/foo

/foo

/

/

/foo

/foo/

/

/

/foo

/foo/bar

/

/bar

/foo

/foo/bar/

/

/bar/

/foo

/foo

/bar

/bar

/foo

/foo/

/bar

/bar/

/foo

/foo/bar

/baz

/baz/bar

/foo

/foo/bar/

/baz

/baz/bar/

/foo/

/foo

/

N/A(요청 경로가 라우팅 경로와 일치하지 않음)

/foo/

/foo/

/

/

/foo/

/foo/bar

/

/bar

haproxy.router.openshift.io/rewrite-target 의 특정 특수 문자는 올바르게 이스케이프해야 하므로 특수 처리가 필요합니다. 이러한 문자를 처리하는 방법을 알아보려면 다음 표를 참조하십시오.

Expand
표 1.5. 특수 문자 처리
문자의 경우문자 사용참고

#

\#

#을 사용하지 마십시오. 재작성 표현식이 종료되기 때문입니다.

%

% 또는 %%

%%와 같은 홀수 시퀀스를 사용하지 마십시오.

\’

무시될 수 있기 때문에 방지

다른 모든 유효한 URL 문자는 이스케이프 없이 사용할 수 있습니다.

Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 문서 정보

Legal Notice

Theme

© 2026 Red Hat
맨 위로 이동