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})
})
'FE BE 개발 메모장 > Node.js, API' 카테고리의 다른 글
NPM과 NVM 그리고 NPX (0) | 2021.06.17 |
---|---|
Express API (0) | 2021.03.03 |
Node.js 에 대해 자세히 알아보자 (0) | 2021.02.09 |
fetch API (0) | 2021.02.03 |