8.9.22. HAProxy 오류 코드 응답 페이지 사용자 정의


클러스터 관리자는 503, 404 또는 두 오류 페이지에 대한 사용자 지정 오류 코드 응답 페이지를 지정할 수 있습니다. HAProxy 라우터는 애플리케이션 pod가 실행 중이 아닌 경우 503 오류 페이지 또는 요청된 URL이 없는 경우 404 오류 페이지를 제공합니다. 예를 들어 503 오류 코드 응답 페이지를 사용자 지정하면 애플리케이션 pod가 실행되지 않을 때 페이지가 제공되며 HAProxy 라우터에서 잘못된 경로 또는 존재하지 않는 경로에 대해 기본 404 오류 코드 HTTP 응답 페이지가 제공됩니다.

사용자 정의 오류 코드 응답 페이지가 구성 맵에 지정되고 Ingress 컨트롤러에 패치됩니다. 구성 맵 키의 사용 가능한 파일 이름은 error-page-503.httperror-page-404.http 입니다.

사용자 지정 HTTP 오류 코드 응답 페이지는 HAProxy HTTP 오류 페이지 구성 지침을 따라야 합니다. 다음은 기본 OpenShift Container Platform HAProxy 라우터 http 503 오류 코드 응답 페이지의 예입니다. 기본 콘텐츠를 고유한 사용자 지정 페이지를 생성하기 위한 템플릿으로 사용할 수 있습니다.

기본적으로 HAProxy 라우터는 애플리케이션이 실행 중이 아니거나 경로가 올바르지 않거나 존재하지 않는 경우 503 오류 페이지만 제공합니다. 이 기본 동작은 OpenShift Container Platform 4.8 및 이전 버전의 동작과 동일합니다. HTTP 오류 코드 응답 사용자 정의에 대한 구성 맵이 제공되지 않고 사용자 정의 HTTP 오류 코드 응답 페이지를 사용하는 경우 라우터는 기본 404 또는 503 오류 코드 응답 페이지를 제공합니다.

참고

OpenShift Container Platform 기본 503 오류 코드 페이지를 사용자 지정 템플릿으로 사용하는 경우 파일의 헤더에 CRLF 줄 끝을 사용할 수 있는 편집기가 필요합니다.

프로세스

  1. openshift-config 네임스페이스에 my-custom-error-code-pages 라는 구성 맵을 생성합니다.

    $ oc -n openshift-config create configmap my-custom-error-code-pages \
      --from-file=error-page-503.http \
      --from-file=error-page-404.http
    중요

    사용자 정의 오류 코드 응답 페이지에 올바른 형식을 지정하지 않으면 라우터 Pod 중단이 발생합니다. 이 중단을 해결하려면 구성 맵을 삭제하거나 수정하고 영향을 받는 라우터 Pod를 삭제하여 올바른 정보로 다시 생성해야 합니다.

  2. 이름별로 my-custom-error-code-pages 구성 맵을 참조하도록 Ingress 컨트롤러를 패치합니다.

    $ oc patch -n openshift-ingress-operator ingresscontroller/default --patch '{"spec":{"httpErrorCodePages":{"name":"my-custom-error-code-pages"}}}' --type=merge

    Ingress Operator는 my-custom-error-code-pages 구성 맵을 openshift-config 네임스페이스에서 openshift-ingress 네임스페이스로 복사합니다. Operator는 openshift-ingress 네임스페이스에서 <your_ingresscontroller_name>-errorpages 패턴에 따라 구성 맵의 이름을 지정합니다.

  3. 복사본을 표시합니다.

    $ oc get cm default-errorpages -n openshift-ingress

    출력 예

    NAME                       DATA   AGE
    default-errorpages         2      25s  
    1

    1
    default Ingress 컨트롤러 CR(사용자 정의 리소스)이 패치되었기 때문에 구성 맵 이름은 default-errorpages입니다.
  4. 사용자 정의 오류 응답 페이지가 포함된 구성 맵이 라우터 볼륨에 마운트되는지 확인합니다. 여기서 구성 맵 키는 사용자 정의 HTTP 오류 코드 응답이 있는 파일 이름입니다.

    • 503 사용자 지정 HTTP 사용자 정의 오류 코드 응답의 경우:

      $ oc -n openshift-ingress rsh <router_pod> cat /var/lib/haproxy/conf/error_code_pages/error-page-503.http
    • 404 사용자 지정 HTTP 사용자 정의 오류 코드 응답의 경우:

      $ oc -n openshift-ingress rsh <router_pod> cat /var/lib/haproxy/conf/error_code_pages/error-page-404.http

검증

사용자 정의 오류 코드 HTTP 응답을 확인합니다.

  1. 테스트 프로젝트 및 애플리케이션을 생성합니다.

    $ oc new-project test-ingress
    $ oc new-app django-psql-example
  2. 503 사용자 정의 http 오류 코드 응답의 경우:

    1. 애플리케이션의 모든 pod를 중지합니다.
    2. 다음 curl 명령을 실행하거나 브라우저에서 경로 호스트 이름을 방문합니다.

      $ curl -vk <route_hostname>
  3. 404 사용자 정의 http 오류 코드 응답의 경우:

    1. 존재하지 않는 경로 또는 잘못된 경로를 방문합니다.
    2. 다음 curl 명령을 실행하거나 브라우저에서 경로 호스트 이름을 방문합니다.

      $ curl -vk <route_hostname>
  4. errorfile 속성이 haproxy.config 파일에 제대로 있는지 확인합니다.

    $ oc -n openshift-ingress rsh <router> cat /var/lib/haproxy/conf/haproxy.config | grep errorfile
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 소개

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

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

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

Red Hat 문서 정보

Legal Notice

Theme

© 2026 Red Hat
맨 위로 이동