FE BE 개발 메모장/Node.js, API

CORS (Cross Origin Resource Sharing) 적용 방법

PixelStudio 2021. 6. 16. 19:39

CORS란? Cross Origin Resource Sharing의 약자로 A도메인에서 B 도메인으로 리소스가 요청되는 경우를 말하는데, http 프로토콜로 요청이 될 경우 브라우저 자체에서 보안 상 CORS를 제한하게 되는 현상을 말한다.

 

 


AWS

s3같은 경우는 권한 부분에 CORS 설정 하는 부분이 존재한다.

<CORSConfiguration>
 <CORSRule>
   <AllowedOrigin>http://www.example1.com</AllowedOrigin>

  <AllowedMethod>GET</AllowedMethod>
   <AllowedMethod>PUT</AllowedMethod>
   <AllowedMethod>POST</AllowedMethod>
   <AllowedMethod>DELETE</AllowedMethod>

   <AllowedHeader>*</AllowedHeader>
 </CORSRule>
</CORSConfiguration>

Node.js

Express를 사용한다면 npm에서 cors를 찾아 설치한 후 미들웨어로 사용하면된다.

npm install cors

 

1. 전체 적용 

광범위하게 적용하여 모든 요청시 CORS를 적용한다.

let express = require('express')
let cors = require('cors')
let app = express()

app.use(cors())

 

2. 부분 적용

 

해당 요청만 CORS를 적용한다.

let express = require('express')
let cors = require('cors')
let app = express()

app.get('/user/:id', cors(), function(req, res, next) {
  res.json({content})
})

 

3. cors 옵션 설정

 

let express = require('express')
let cors = require('cors')
let app = express()

let corsOption = {
  origin: 'http://a.com'
}

app.get('/user/:id', cors(), function(req, res, next) {
  res.json({content})
})