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
cors
library를 설치한다const cors = require('cors');
app.use(cors());
const cors = require('cors');
let corsOptions = {
origin: 'https://www.domain.com',
credentials: true
}
app.use(cors(corsOptions));