Invalid SockJS path 'XXX' required to have 3 path segments.
๊ตฌ๊ธ์ Invalid SockJS path ๋ผ๋ ํค์๋๋ก ๊ฒ์ํด๋ณด๋ฉด ์ด์ ๊ฐ์ ์ค๋ฅ ๋ก๊ทธ์ ๋ํ ์กฐ์น๋ก Stomp ํด๋ผ์ด์ธํธ๋ฅผ ์ฌ์ฉํ๋ผ๋ ๋ต๋ณ์ด๋ ์คํ ์ค๋ฒํ๋ก์ฐ์ ์ง๋ฌธํ๋ผ๋ ๋ต๋ณ์ ์ฐพ์๋ณผ ์ ์๋ค. ์๋ฌดํผ ์ ์ํฉ์ ๋ํ ์์ธ์ ๋ช ํํ ์ ์ ์๋ ์ํฉ์์ ์๋์ ๊ฐ์ ๊ตฌ์กฐ์์ ํด๋น ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ค.
- Nginx Websocket Proxy
- Spring WebSocket with Stomp + SockJS
sockjs-client@1.6.1
@stomp/stompjs@7.0.0
์ด์ ํ์ โ
nginx.conf์ ๊ฐ์ด ์์ง์์ค์์ ์น์์ผ ์ฃผ์ ํจํด์ ๋ํด ๋ฐฑ์๋ ์ ํ๋ฆฌ์ผ์ด์
์ผ๋ก์ ๋ฆฌ๋ฒ์ค ํ๋ก์ ๊ตฌ์ฑ์ ์๋์ ๊ฐ์ด ํด๋ ์ํ์๋ค. ๊ทธ๋ฆฌ๊ณ Stomp ๋ฐฉ์์ ์น ์์ผ ์ฐ๊ฒฐ์ ์ํํ๋ ์๋ํฌ์ธํธ๋ /ws/stomp
๋ก ์ ์๋์ด์์๋ค. ๋ณธ๋ /ws
๋ ์ผ๋ฐ์ ์ธ ์น ์์ผ ์ฐ๊ฒฐ์ ์ํํ๊ณ /ws/stmop
๋ก ์์๋๋ ๊ฒ์ Stomp๋ก ๋์ํ๋ ๊ฒ์ ์๋ํ ๊ฒ์ด๋ค.
http {
upstream backend {
server app:8080;
keepalive 128;
}
server {
location /ws/ {
proxy_pass http://backend;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# hop-by-hop
proxy_http_version 1.1;
proxy_set_header Connection "upgrade";
proxy_set_header Upgrade $http_upgrade;
proxy_read_timeout 65s;
}
}
}
Vite ๊ฐ๋ฐ ์๋ฒ์์์ Proxy ๊ตฌ์ฑ์ ๊ฒฝ์ฐ ์ฌ๋ฐ๋ฅด๊ฒ Stomp ๋ฐฉ์์ ์น์์ผ ์ฐ๊ฒฐ์ ์ํ๋๋ค.
ํ์ง๋ง, ์์ง์์ค์ ํจ๊ป ๋์์ค์ธ ๋ฐฐํฌ ํ๊ฒฝ์์๋ Stomp ํด๋ผ์ด์ธํธ๊ฐ SockJS๋ฅผ ์ฌ์ฉํ์ฌ ์ฐ๊ฒฐ์ ์ํํ๋ ค๊ณ ํ ๋ /ws/stomp/info?t=0
์๋ํฌ์ธํธ์ ๋ํด 404 ์๋ต์ ๋ฐ๊ฒ๋๊ณ ์ ํ๋ฆฌ์ผ์ด์
๋ก๊ทธ์๋ Invalid SockJS path ...
๊ฐ ์ถ๋ ฅ๋๋ ๊ฒ์ ํ์ธํ๋ค.
์๋ฃจ์ โ
์ด๋ฆฌ์ ๋ฆฌ ์๋ํด๋ณธ ๊ฒฐ๊ณผ ํด๊ฒฐ์ฑ
์ ์ผ๋ฐ์ ์ธ ์น ์์ผ ์ฐ๊ฒฐ๊ณผ Stomp ๋ฐฉ์์ ์ฐ๊ฒฐ์ ์์ ๋ถ๋ฆฌํ๋ ๊ฒ์ด๋ค. /ws/
์ด์ธ์ /ws-stomp/
๋ก Stomp ๋ฐฉ์์ ์น ์์ผ ์ฐ๊ฒฐ์ ์ํ ๋ณ๋์ ์๋ํฌ์ธํธ ํจํด์ ์ฌ์ฉํ๊ณ ๋ฆฌ๋ฒ์ค ํ๋ก์ ๊ตฌ์ฑ์ ํ๊ณ ๋๋ ํด๋น ์ฆ์์ ๋ฐ์ํ์ง ์์๋ค.
http {
upstream backend {
server app:8080;
keepalive 128;
}
server {
location ~ ^/(ws|ws-stomp)/ {
proxy_pass http://backend;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# hop-by-hop
proxy_http_version 1.1;
proxy_set_header Connection "upgrade";
proxy_set_header Upgrade $http_upgrade;
proxy_read_timeout 65s;
}
}
}
์๋ฌดํผ ์ ํํ ์์ธ์ ๋ํด์๋ ๋ณ๋๋ก ์ฐพ์๋ณด์์ผ๊ฒ ์ง๋ง ๊ธฐ๋ก์ผ๋ก ๋จ๊ธฐ๊ณ ์ ํ๋ค.