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

ReplacePathRegex

원문 보기 위키 갱신

출처: Traefik ReplacePathRegex Documentation

본문

ReplacePathRegex

replacePathRegex 미들웨어는 다음을 수행해요:

  • 매칭된 경로를 지정된 경로로 바꿉니다.

  • 원래 경로를 X-Replaced-Path 헤더에 저장합니다.

구성 예시

File (YAML)

# 정규식으로 경로 바꾸기
http:
  middlewares:
    test-replacepathregex:
      replacePathRegex:
        regex: "^/foo/(.*)"
        replacement: "/bar/$1"

File (TOML)

# 정규식으로 경로 바꾸기
[http.middlewares]
  [http.middlewares.test-replacepathregex.replacePathRegex]
    regex = "^/foo/(.*)"
    replacement = "/bar/$1"

Kubernetes

# 정규식으로 경로 바꾸기
apiVersion: traefik.io/v1alpha1
kind: Middleware
metadata:
  name: test-replacepathregex
spec:
  replacePathRegex:
    regex: "^/foo/(.*)"
    replacement: "/bar/$1"

Docker & Swarm

# 정규식으로 경로 바꾸기
labels:
  - "traefik.http.middlewares.test-replacepathregex.replacepathregex.regex=^/foo/(.*)"
  - "traefik.http.middlewares.test-replacepathregex.replacepathregex.replacement=/bar/$$1"

Consul Catalog

# 정규식으로 경로 바꾸기
- "traefik.http.middlewares.test-replacepathregex.replacepathregex.regex=^/foo/(.*)"
- "traefik.http.middlewares.test-replacepathregex.replacepathregex.replacement=/bar/$1"

구성 옵션

| Field | Description | Default | Required | | regex | 요청 URL에서 경로를 매칭하고 캡처하는 정규식. | | Yes | | replacement | 캡처된 변수를 포함할 수 있는 치환 경로 형식. $1x는 ${1x}와 동등하며 ${1}x가 아닙니다(Regexp.Expand 참고). 따라서 ${1} 문법을 사용하세요. | | No |

Tip

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

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

더 알아보기 (Learn more)