Nginx 리버스 프록시 뒤에서 Next.js를 운영 중인데, HMR(Hot Module Replacement)이 작동하지 않습니다. 브라우저 콘솔에 WebSocket connection failed 에러가 나옵니다.
WebSocket connection to 'wss://mysite.com/_next/webpack-hmr' failedproxy_pass는 설정했는데 WebSocket이 안 되는 것 같습니다.
Nginx 리버스 프록시 뒤에서 Next.js를 운영 중인데, HMR(Hot Module Replacement)이 작동하지 않습니다. 브라우저 콘솔에 WebSocket connection failed 에러가 나옵니다.
WebSocket connection to 'wss://mysite.com/_next/webpack-hmr' failedproxy_pass는 설정했는데 WebSocket이 안 되는 것 같습니다.
댓글 2
Nginx에서 WebSocket을 프록시하려면 Upgrade 헤더를 전달해야 합니다. 기본 proxy_pass로는 WebSocket이 작동하지 않습니다.
핵심은
proxy_set_header Upgrade와Connection "upgrade"두 줄입니다. 이걸 빼면 WebSocket이 일반 HTTP로 다운그레이드됩니다.