[WIL] CORS란

김시원·2023년 5월 7일
0

WIL

목록 보기
5/9

이번주 회고

  • 주특기 프로젝트 기획, FE & BE 협업
  • API 설계, jest unit test

CORS란?

CORS란 Cross-Origin Resource Sharing의 약자로 교차 출처 리소스 공유를 의미한다.

기본적으로 클라이언트에서 서버로 요청을 보낼 때, 클라이언트와 서버의 도메인이 일치하지 않으면 요청이 차단된다.
예를들어 localhost:8000번 클라이언트에서 localhost:8080 서버로 요청을 보내면 서버는 다른 포트 즉 다른 도메인에서 연결이 왔기 때문에 요청을 차단하게 된다. 이러한 요청이 왔을 때 Access-Control-Allow-Origin 헤더가 없다는 에러가 뜨게 된다.

CORS 문제를 해결하기 위해서는 응답헤더에 Access-Control-Allow-Origin이라는 헤더를 넣어주어야 한다. 이 헤더는 클라이언트 도메인의 요청을 허락하겠다는 의미를 가지고 있다.

// 모든 CORS를 허용
Access-Control-Allow-Origin: *

// 특정 도메인에만 허용
Access-Control-Allow-Origin: http

Node express에서 CORS library

  1. cors library를 설치한다
  2. 모든 도메인에 대해 접근 허용
const cors = require('cors');

app.use(cors());
  1. 특정 도메인에 대해서만 접근 허용
const cors = require('cors');

let corsOptions = {
    origin: 'https://www.domain.com',
    credentials: true
}
app.use(cors(corsOptions));

0개의 댓글