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

Content-Length

원문 보기 위키 갱신

Content-Length (콘텐츠 길이)

출처: Content-Length

본문

Content-Length

Traefik은 스트리밍 프록시로 동작해요. 기본적으로 데이터의 각 청크를 백엔드나 클라이언트로 전달하면서 Content-Length 헤더와 대조해 확인해요. 이런 실시간 검사는 전체 메시지를 붙잡아 두지 않고도 잘린 스트림이나 과도하게 긴 스트림을 차단해요.

Traefik이 데이터를 넘기기 전에 전체 본문을 읽고 검증하길 원한다면, 버퍼링 미들웨어를 추가하세요:

http:
  middlewares:
    buffer-and-validate:
      buffering: {}

버퍼링을 활성화하면 Traefik은 다음과 같이 동작해요:

  • 요청이나 응답 전체를 메모리로 읽어요.

  • 실제 바이트 수를 Content-Length 헤더와 비교해요.

  • 수가 일치하지 않으면 메시지를 거부해요.

Warning

버퍼링은 오버헤드를 더해요. 모든 요청과 응답이 전달 전에 완전히 메모리에 보관되므로 메모리 사용량과 지연 시간이 늘어날 수 있어요. 엄격한 콘텐츠 검증이 보안 태세에 중요한 상황에서 사용하세요.

더 알아보기