1.3.3. 경로에서 HTTP 요청 및 응답 헤더 설정 또는 삭제
규정 준수 목적 또는 기타 이유로 특정 HTTP 요청 및 응답 헤더를 설정하거나 삭제할 수 있습니다. Ingress 컨트롤러에서 제공하는 모든 경로 또는 특정 경로에 대해 이러한 헤더를 설정하거나 삭제할 수 있습니다.
예를 들어 경로를 제공하는 Ingress 컨트롤러에서 지정하는 기본 글로벌 위치가 있더라도 해당 콘텐츠가 여러 언어로 작성된 경우 웹 애플리케이션에서 특정 경로에 대한 콘텐츠를 제공할 수 있도록 할 수 있습니다.
다음 절차에서는 애플리케이션 https://app.example.com 과 연결된 URL이 위치 https://app.example.com/lang/en-us 로 전달되도록 Content-Location HTTP 요청 헤더를 설정하는 경로를 생성합니다. 애플리케이션 트래픽을 이 위치로 전달한다는 것은 특정 경로를 사용하는 사람이 미국 영어로 작성된 웹 콘텐츠에 액세스하는 것을 의미합니다.
사전 요구 사항
-
OpenShift CLI(
oc)가 설치되어 있습니다. - OpenShift Container Platform 클러스터에 프로젝트 관리자로 로그인되어 있습니다.
- 포트에서 트래픽을 수신하는 포트와 HTTP 또는 TLS 끝점을 노출하는 웹 애플리케이션이 있습니다.
프로세스
경로 정의를 생성하고
app-example-route.yaml이라는 파일에 저장합니다.HTTP 헤더 지시문을 사용하여 생성된 경로의 YAML 정의
apiVersion: route.openshift.io/v1 kind: Route # ... spec: host: app.example.com tls: termination: edge to: kind: Service name: app-example httpHeaders: actions:1 response:2 - name: Content-Location3 action: type: Set4 set: value: /lang/en-us5 - 1
- HTTP 헤더에서 수행할 작업 목록입니다.
- 2
- 변경할 헤더 유형입니다. 이 경우 응답 헤더입니다.
- 3
- 변경할 헤더의 이름입니다. 설정하거나 삭제할 수 있는 사용 가능한 헤더 목록은 HTTP 헤더 구성 을 참조하십시오.
- 4
- 헤더에서 수행되는 작업 유형입니다. 이 필드에는
Set또는Delete값이 있을 수 있습니다. - 5
- HTTP 헤더를 설정할 때
값을제공해야 합니다. 값은 해당 헤더에 사용 가능한 지시문 목록(예:DENY)의 문자열이거나 HAProxy의 동적 값 구문을 사용하여 해석되는 동적 값이 될 수 있습니다. 이 경우 값은 콘텐츠의 상대 위치로 설정됩니다.
새로 생성된 경로 정의를 사용하여 기존 웹 애플리케이션에 대한 경로를 생성합니다.
$ oc -n app-example create -f app-example-route.yaml
HTTP 요청 헤더의 경우 경로 정의에 지정된 작업이 Ingress 컨트롤러의 HTTP 요청 헤더에 실행된 후 실행됩니다. 즉, 경로의 해당 요청 헤더에 설정된 모든 값이 Ingress 컨트롤러에 설정된 값보다 우선합니다. HTTP 헤더 처리 순서에 대한 자세한 내용은 HTTP 헤더 구성 을 참조하십시오.