ReplacePathRegex
본문
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으로 적어야 해요.