티스토리 뷰

 

웹을 개발하면 한번은 꼭 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

 

댓글
댓글쓰기 폼
공지사항
Total
248,385
Today
760
Yesterday
1,065
링크
«   2022/10   »
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31          
글 보관함