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

Traefik EncodedCharacters 미들웨어

원문 보기 위키 갱신

출처: Traefik EncodedCharacters 미들웨어 (EncodedCharacters Documentation)

본문

EncodedCharacters

EncodedCharacters 미들웨어는 요청 경로에서 어떤 모호한 예약 인코딩 문자를 허용할지 제어해요.

이 미들웨어를 사용하면 기본적으로 보안 강화를 위해 잠재적으로 위험한 인코딩 문자가 거부돼요.

설정 예시

Docker & Swarm

# 요청 경로에서 인코딩된 슬래시 허용
labels:
  - "traefik.http.middlewares.test-encodedchars.encodedcharacters.allowencodedslash=true"

Kubernetes

# 요청 경로에서 인코딩된 슬래시 허용
apiVersion: traefik.io/v1alpha1
kind: Middleware
metadata:
  name: test-encodedchars
spec:
  encodedCharacters:
    allowEncodedSlash: true

Consul Catalog

# 요청 경로에서 인코딩된 슬래시 허용
- "traefik.http.middlewares.test-encodedchars.encodedcharacters.allowencodedslash=true"

파일 (YAML)

# 요청 경로에서 인코딩된 슬래시 허용
http:
  middlewares:
    test-encodedchars:
      encodedCharacters:
        allowEncodedSlash: true

파일 (TOML)

# 요청 경로에서 인코딩된 슬래시 허용
[http.middlewares]
  [http.middlewares.test-encodedchars.encodedCharacters]
    allowEncodedSlash = true

설정 옵션

이 옵션들을 구성할 때 백엔드가 RFC 3986을 완전히 준수하는지 확인하세요. 이렇게 하면 Traefik과 백엔드가 동일한 URL을 다르게 해석하는 split-view 상황을 피할 수 있어요.

| 필드 | 설명 | 기본값 | 필수 | | allowEncodedSlash | 요청 경로에서 인코딩된 슬래시(%2F 및 %2f)를 허용해요. | false | 아니요 | | allowEncodedBackSlash | 요청 경로에서 인코딩된 백슬래시(%5C 및 %5c)를 허용해요. | false | 아니요 | | allowEncodedSemicolon | 요청 경로에서 인코딩된 세미콜론(%3B 및 %3b)을 허용해요. | false | 아니요 | | allowEncodedPercent | 요청 경로에서 인코딩된 퍼센트(%25)를 허용해요. | false | 아니요 | | allowEncodedQuestionMark | 요청 경로에서 인코딩된 물음표(%3F 및 %3f)를 허용해요. | false | 아니요 | | allowEncodedHash | 요청 경로에서 인코딩된 해시(%23)를 허용해요. | false | 아니요 |

더 알아보기 (Learn more)