socket.io의 호스트 파싱

intro

지금부터 말하는 트러블 슈팅은 단일 서버에서 하나의 웹소켓을 이용하는 경우엔 발생하지 않았을 것이다. 하지만 여러 path에 대해 웹소켓을 사용하고 있다면 이 문제에 부딪혔을 수도 있다. 아주 허무하지만, 상상도 못한 이슈 지금부터 시작하겠다.

🛠️ 서버 아키텍처 (?)

Untitled

시작에 앞서 프로젝트 구조를 간단히 설명하겠다. 백엔드는 두 개의 서버를 띄우고 있고, 엔진엑스가 가장 앞단에 위치하여 경로에 따라 다른 서버로 프록시한다.

<aside> 💡 NGINX 라우팅 정보

❓ 시그널링 서버의 소켓 통신만 반응이 없다

두 서버 모두 웹소켓을 사용하고 있는데 아이너리하게 오직 시그널링 서버로의 소켓 요청만 동작하지 않았다.

결론부터 말하자면, socket.io가 URL에다 /signal을 붙여도 자동으로 떼어낸다. (우주먼지가 되어버린 소켓 요청)


원인 파악하기

이게 무슨 URL이야

io("<https://was.tarotmilktea.com/signal>");