프록시를 거칠 때 스트리밍이 안 될 때

프록시를 거칠 때 스트리밍이 안 될 때 (Streaming Not Working When Proxied)

AI SDK 스트리밍이 로컬 개발 환경 또는 일부 프록시 환경에서 동작하지 않을 때의 해결법을 담은 문서예요. 특히 **프록시 미들웨어가 응답을 압축(compress)**하도록 설정돼 있으면 스트리밍이 깨지기 때문에, 압축을 끄는 것이 핵심이에요.

출처: 문서

본문

문제 (Issue)

AI SDK 스트리밍이 로컬 개발 환경에서 동작하지 않거나, 일부 프록시 환경에 배포했을 때 동작하지 않습니다. 스트리밍이 되지 않고 잠시 후 전체 응답만 반환됩니다.

원인 (Cause)

이 문제는 프록시 미들웨어 때문에 발생합니다. 미들웨어가 응답을 압축하도록 구성되어 있으면 스트리밍이 실패합니다.

해결 방법 (Solution)

다음을 시도해볼 수 있습니다. 이 해결책은 스트리밍 API에만 영향을 줍니다:

  • 'Content-Encoding': 'none' 헤더를 추가하세요

    return createUIMessageStreamResponse({
      stream: toUIMessageStream({ stream: result.stream }),
      headers: {
        'Content-Encoding': 'none',
      },
    });
    

더 알아보기 (Learn more)

전체 사이트맵