본문 바로가기
WIKI 기술 지식 베이스

StripPrefixRegex

원문 보기 위키 갱신

출처: Traefik StripPrefixRegex Documentation

본문

StripPrefixRegex

stripPrefixRegex 미들웨어는 매칭된 경로 접두사를 제거하고 X-Forwarded-Prefix 헤더에 저장합니다.

Tip

백엔드가 루트 경로(/)에서 수신하지만 특정 접두사로 노출되어야 한다면 stripPrefixRegex 미들웨어를 사용하세요.

구성 예시

구조화된 (YAML)

http:
  middlewares:
    test-stripprefixregex:
      stripPrefixRegex:
        regex:
          - "/foo/[a-z0-9]+/[0-9]+/"

구조화된 (TOML)

[http.middlewares]
  [http.middlewares.test-stripprefixregex.stripPrefixRegex]
    regex = ["/foo/[a-z0-9]+/[0-9]+/"]

Labels

labels:
  - "traefik.http.middlewares.test-stripprefixregex.stripprefixregex.regex=/foo/[a-z0-9]+/[0-9]+/"

Tags

{
  //..
  "Tags" : [
    "traefik.http.middlewares.test-stripprefixregex.stripprefixregex.regex=/foo/[a-z0-9]+/[0-9]+/"
  ]
}
- 

Kubernetes

apiVersion: traefik.io/v1alpha1
kind: Middleware
metadata:
  name: test-stripprefixregex
spec:
  stripPrefixRegex:
    regex:
      - "/foo/[a-z0-9]+/[0-9]+/"

구성 옵션

| Field | Description | Default | Required | | regex | 요청 URL에서 경로 접두사를 매칭하는 정규식 목록. 예를 들어 /products는 /products/shoes와 /products/shirts도 매칭해요. 자세한 내용은 여기. | | No |

regex

백엔드가 자산(예: 이미지나 JavaScript 파일)을 제공한다면, X-Forwarded-Prefix 헤더를 사용해 상대 URL을 구성할 수 있어요. 앞선 예시를 사용하면, 백엔드는 /products/shoes/image.png를 반환해야 합니다(/images.png가 아니라요. Traefik이 그것을 같은 백엔드와 연결하지 못할 가능성이 높아요).

Tip

정규식과 치환은 Go Playground나 Regex101 같은 온라인 도구로 테스트할 수 있어요.

YAML 안에서 정규식을 정의할 때는 이스케이프된 문자를 두 번 이스케이프해야 합니다: example\.com은 example\\\\.com으로 적어야 해요.

더 알아보기 (Learn more)