Spring
spring boot) vue + spring boot websocket 웹소켓 proxy error
탐훈
2024. 1. 28. 01:00
728x90
vue에서 프록시를 사용하고 있다.
vue -> spring boot로 rest api로 구성되어 있는데 http 프로토콜을 사용한다.
채팅구현을 위해 웹소켓 프로토콜을 이용해 서버에 요청을 해야한다.
vue.config.js 파일을 다음과 같이 하였다
const { defineConfig } = require('@vue/cli-service')
const 사설ip = '주소생략';
const 운영 = '주소생략';
const 개발 = 'localhost:8082';
const 프로토콜 = {
API: 'http://',
WS: 'ws://'
}
const access_point = 운영;
module.exports = defineConfig({
transpileDependencies: true,
lintOnSave:false,
devServer: {
proxy: {
'/': {
target: `${ 프로토콜.API }${ access_point }`,
changeOrigin: true,
ws: false // 🎈 기존 api 는 ws false로 해서 프록시 타고 요청함
},
'/ws': {
target: `${ 프로토콜.WS }${ access_point }`,
changeOrigin: true,
ws: true // 🎈 웹소켓 true로 해줘야함
},
}
},
})
changeOrigin은 도메인을 사용하냐 유무이고
ws는 웹소켓 프로토콜 사용 유무이다.
path 기준은
포트 다음에 오는 걸로 보면 된다.
나는 웹소켓 api url이
'localhost:8080/ws/chat' 이기 때문에
/ws로 기준하여 프록시 설정을 해주었다.
초반에 프록시 설정을
하지 않아서 채팅이 하루동안 구현을 못했다.
ws:// 을 사용하여 proxy 설정하기