
nginx .config 셋팅을 할 때, location을 / 로 할 때는 소켓서버 (localhost:8180) 으로 커넥션이 잘 되는데, location을 /ws/ 로 바꾸면 /ws/ 주소로 연결을 할 때 커넥션이 안됩니다…
/api/ 로 restApi 서버 리버스 프록시 세팅은 잘 되는데 왜 웹 소켓 서버는 / 주소로만 셋팅을 할 때 정상작동 할까요?
nginx 에 대한 기본지식이 부족해서 어떤 점에서 문제가 생기는 건지 감이 잡히지 않아 오랜 삽질을 하고 있습니다…
- 지나가던 캠퍼: socket.io는 기본적으로 오리진으로만 요청이 들어가게 세팅이 되어 있습니다 (
localhost:3000/api
를 소켓 preflight 요청 url로 적어두어도,localhost:3000/api/socket.io/
로 요청이 가는게 아니라localhost:3000/socket.io
로 감)
- 최초 연결시 (preflight 요청 url 지정시)
{path: "/api/socket.io" }
와 같이 옵션을 적어주시면 디렉토리도 적용이 가능합니다. https://socket.io/docs/v4/client-options/#path
사랑합니다……………….