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

프로토콜 감지 오류

원문 보기 위키 갱신

프로토콜 감지 오류 (Protocol Detection Errors)

Linkerd 프록시가 protocol detection timed out after 10s 같은 오류 메시지로 알리는 프로토콜 감지 실패 상황과, skip/opaque 포트로 해결하는 방법을 안내해요.

출처: Linkerd Protocol Detection Errors

본문

Linkerd는 TLS 연결, WebSocket, HTTP 터널링을 포함한 모든 TCP 트래픽을 프록시할 수 있습니다. 새 연결이 맺어질 때 클라이언트가 먼저 말하는 대부분의 경우에 Linkerd는 사용 중인 프로토콜을 감지해서 요청별 라우팅과 메트릭을 수행할 수 있어요.

프록시 로그에 protocol detection timed out after 10s 같은 메시지가 보이거나, 연결을 맺을 때 10초 지연이 발생한다면 아마 Linkerd가 프로토콜을 감지할 수 없는 상황을 겪고 있는 것입니다. 이것은 서버가 먼저 말하고 클라이언트가 서버의 정보를 기다리는 프로토콜에서 가장 흔합니다. 또한 Linkerd가 요청의 와이어 형식을 아직 이해하지 못하는 비-HTTP 프로토콜에서도 발생할 수 있어요.

이를 고치려면 정확히 어떤 상황인지 이해해야 합니다:

  • 서버가 먼저 말하는 프로토콜은 프로토콜 감지 문서에서 설명한 대로 skip 또는 opaque 포트로 구성해야 할 것입니다.
  • 일시적인 프로토콜 감지 타임아웃이 보인다면, 오작동하는 워크로드를 가리킬 가능성이 더 높아요.
  • 프로토콜이 클라이언트-우선(client-speaks-first)인 걸 알지만 프로토콜 감지 타임아웃이 계속 발생한다면, skip 또는 opaque 포트에 의존해야 할 것입니다.

포트를 skip이나 opaque로 표시하면 프로토콜 감지 타임아웃 너머에도 영향을 준다는 점을 알아두세요. 자세한 내용은 프로토콜 감지 문서를 참고하세요.

더 알아보기 (Learn more)

  • 프로토콜 감지 문서