개발스토리

CORS 본문

node.js

CORS

무루뭉 2021. 1. 2. 18:01

CORS

CORS는 Cross Origin Resource Sharing의 약자로 포트 및 도메인이 다른 서버로 클라이언트가 요청했을 때 브라우저가 보안상의 이유로 API를 차단하는 문제이다. 같은 요청이라도 서버에서 서버로 보냈을 때는 되는데 브라우저에서 서버로 보내는 것이 안되니 당황스러울 수 있다.

 

Node 서버에서 cors 이슈를 해결하는 몇가지 방법

1. 어떤 특정 요청에만 적용하고 싶다면 cross-origin을 허락하는 헤더를 추가한다.

app.get('/', (req,res) => {
  res.header("Access-Control-Allow-Origin", "*");
  ...
}

- "*"은 모든 요청 origin을 허용하는 것이기 때문에 위험하니 이 부분만 허용하는 origin으로 바꿔주면 좋다.

 

2. 미들웨어 cors를 활용하여 해결한다.

npm install cors

cors를 설치하고 서버에 추가

const cors = require('cors');

app.use(cors());

특정 url만 허용하고 싶다면 options을 추가

const cors = require('cors');
const corsOptions = {
  origin: "http://localhost:3000",
  credentials: true
}
app.use(cors(corsOptions));

 

'node.js' 카테고리의 다른 글

MongoDB aggregation _id $Match 옵션  (2) 2021.05.10
테스트  (0) 2021.02.11
JWT(JSON Web Token)  (0) 2021.01.01
Mongoose  (0) 2020.12.28
Sequelize  (0) 2020.12.28
Comments