프로토콜 감지 오류
프로토콜 감지 오류 (Protocol Detection Errors)
Linkerd 프록시가 protocol detection timed out after 10s 같은 오류 메시지로 알리는 프로토콜 감지 실패 상황과, skip/opaque 포트로 해결하는 방법을 안내해요.
본문
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)
- 프로토콜 감지 문서