티스토리 뷰
반응형
로컬에서 프런트 서버와 백엔드 서버의 포트를 다르게 사용할 때 발생하는 문제인 CORS 해결방법에 대해 정리합니다.
1. CORS
CORS는 Cross Origin Resource Sharing의 약자로 도메인 및 포트가 다른 서버로 클라이언트가 요청했을 때 브라우저가 보안상의 이유로 API를 차단하는 문제입니다. 예로 들면 로컬에서 클라이언트는 3000 포트로 서버는 10000 포트로 서버를 띄웠을때 또는 로컬 서버에서 다른 서버로 호출할 때 발생하게 됩니다.
2. 해결 방법
node 서버에서 cors 이슈를 해결하는 몇가지 방법을 정리합니다.
1. Access-Control-Allow-Origin response 헤더를 추가.
app.get('/', (req,res) => {
res.header("Access-Control-Allow-Origin", "*");
...
}
어떤 특정 요청에만 적용 하고 싶다면 cross-origin을 허락하는 헤더를 추가해 문제를 해결할 수 있습니다.
2. 미들웨어 CORS 추가.
미들웨어 cors를 활용하여 해결 할 수 있습니다.
npm install cors
cors를 설치 한 다음 app.js에 다음을 추가해줍니다.
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));
함수 형태로도 가능합니다.
const cors = require('cors');
const domains = ['http://localhost:3000'];
const corsOptions = {
origin: function(origin, callback){
const isTrue = domains.indexOf(origin) !== -1;
callback(null, isTrue);
}
,
credentials: true
}
app.use(cors(corsOptions));
반응형
'BackEnd > Node' 카테고리의 다른 글
AWS Lambda로 크롤링 데이터 Firebase에 데이터 쌓는 법 ( 로컬 테스트 ) - 2편 (0) | 2021.06.22 |
---|---|
AWS Lambda로 크롤링 데이터 Firebase에 데이터 쌓는 법 (Lambda 설정)- 1편 (0) | 2021.06.22 |
[node] windows nvm 으로 node 설치하기 (0) | 2020.03.10 |
[Node] 노드 서버의 Router 구조 잡기. (2) | 2020.03.02 |
[Node] PM2 - node.js 프로세스 관리 하기 (0) | 2020.02.13 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 에라토스테네스
- Node
- 지도학습
- 머신러닝
- 노드
- 30 Day LeetCode Challenge
- GPTGOT
- Component
- 넘파이
- 파이썬
- 버츄얼스튜디오코드
- git
- k8s metrics-server running
- CHATGOT
- numpy
- 퍼셉트론
- LeetCode 30일 챌린지
- LeetCode 알고리즘 공부
- k8s metrics-server
- 리엑트
- LeetCode 풀이
- GPT서비스
- React 프로젝트 생성
- react
- Python
- Java leetcode
- 파이썬 numpy
- Java
- vscode
- LeetCode 5월 챌린지
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
글 보관함