728x90
반응형
로컬 환경에서는 [WebSocket] [STOMP] client 테스트 방법에서 사용했던 apic을 사용해서 WebSocket Server에 정상적으로 연결되는데 개발서버(CentOS7)에 프로젝트를 올리고 WebSocket Server에 연결이 안되었습니다.
이런 경우 개발서버의 방화벽, 클라이언트 도구 등을 확인해봐야 합니다.
1. 방화벽 설정
CentOS 7에서는 기본적으로 방화벽(firewalld)이 활성화되어 있을 수 있습니다. WebSocket은 기본적으로 TCP 포트를 사용하므로, 해당 포트가 방화벽에 의해 차단되어 있을 수 있습니다.
sudo firewall-cmd --zone=public --add-port=8080/tcp --permanent
sudo firewall-cmd --reload
위 명령어는 포트 8080 (Spring Boot 기본 포트)을 방화벽에서 허용합니다.
2. 클라이언트 도구
apic을 사용했을때는 연결이 안되는데 telnet으로는 연결이 되었습니다.
apic이 문제가 있다고 생각해서 stomp.js를 사용해서 WebSocket client 코드를 작성하니 정상적으로 연결이 되었습니다.
아래 코드에서 stomp.min.js는 [Spring boot] WebSocket + STOMP에서 사용했던 라이브러리입니다.
<html>
<head>
<script src="C:\Users\user\Downloads\stomp.min.js" ></script>
</head>
<body>
</body>
<script>
const connectCallback = (msg) => {
client.subscribe("구독URL", (msg) => {
console.dir(msg)
});
}
const errorCallback = (e) => {
console.dir(e);
}
//const client = Stomp.client('ws://localhost:8080/ws');
const client = Stomp.client('ws://서버IP:서버PORT/ws');
client.connect({}, connectCallback, errorCallback);
</script>
</html>
728x90
반응형
'개발 > 리눅스' 카테고리의 다른 글
CentOS 부팅 오류 해결: 파티션 오류 수정 방법 (0) | 2024.08.12 |
---|---|
[CentOS7] yum 명령어 오류 해결 (Could not resolve host: mirrorlist.centos.org; 알 수 없는 오류) (4) | 2024.07.03 |
[리눅스] service 등록 방법 (0) | 2024.04.03 |
[Ubuntu] Openjdk 21 설치방법(java version upgrade) (0) | 2023.12.05 |
nohup, &, 표준입출력 리다이렉션 (0) | 2022.12.15 |