반응형
웹을 개발하면 한번은 꼭 Cors 문제를 맞닥뜨립니다. 채팅 서버를 aws로 구축하고, 로컬에서 채팅 서버를 이용하여 채팅을 개발하고 있는데 역시나 도메인이 달라 Cors 문제가 발생하였습니다.
Node.js 라이브러리중 'Cors'라는 라이브러리가 있지만 Socket.io에서 발생한 문제라서 이걸로는 해결할 수 없습니다. 그래서 구글링을 해본 결과 Socker.io 공식문서에 다행히 잘 설명되어 있습니다.
"socket.io": "^4.1.3" 버전 기준입니다.
const io = require("socket.io")(server, {
cors: {
origin: "*",
methods: ["GET", "POST"]
}
});
위 코드를 server-side에 작성해주시고, client-side에는 아래와 같이 작성해주시면 해결이 가능합니다.
var socket = io.connect(`채팅서버 주소`,{
cors: { origin: '*' }
});
예제 코드들은 모든 도메인을 허락하지만 보안상 문제가 있으므로 실제로 배포할땐 딱 지정해주어야 합니다.
아래 링크는 Socket.io 공식 문서 링크입니다.
Introduction
What Socket.IO isSocket.IO is a library that enables real-time, bidirectional and event-based communication between the browser and the server. It consists of: a Node.js server: Source | API a Javasc
socket.io
반응형
'...' 카테고리의 다른 글
[Docker] 외부에서 컨테이너 내부에 접속하기 (0) | 2021.08.25 |
---|---|
UUID가 겹치면 어쩌지? (0) | 2021.08.25 |
[Docker] 컨테이너 이미지 알아보기 (0) | 2021.08.24 |
[Elastic Search] TokenFilter - NGram (0) | 2021.08.24 |
[Kubernetes] 배포된 파드의 세부 값을 확인하는 방법 (0) | 2021.08.24 |