아이엠 !나이롱맨😎
article thumbnail
반응형

 

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

 

반응형

article prev thumbnail

다음 글

UUID가 겹치면 어쩌지?

2021.08.25

article next thumbnail
profile on loading

Loading...