[React/Node.js] CORS 이슈, Proxy 설정

2022. 12. 19. 01:18·🍞 FrontEnd/React

✅ 문제 상황

Access to XMLHttpRequest at 'http://localhost:5000/api/hello' from origin 'http://localhost:3000' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.

✅ 오류 원인

서버는 포트가 5000이고 클라이언트는 포트가 3000이기 때문에 발생하는 오류이다.
이렇게 두 개의 다른 포트를 가지고 있는 서버는 아무 설정 없이 Request를 보낼 수 없다.
CORS(Cross-Origin Resource Sharing) 정책 때문에 보안을 위해서 막아버린다.

✅ 해결 방법

여러가지 방법이 있는데, Proxy 사용하는 방법으로 할 수 있다.

설치

npm i http-proxy-middleware --save


Proxy를 사용해 타겟을 5000으로 주면 오류 해결!

//src/setupProxy.js

const { createProxyMiddleware } = require("http-proxy-middleware");

module.exports = function (app) {
  app.use(
    "/api",
    createProxyMiddleware({
      target: "http://localhost:5000",
      changeOrigin: true,
    })
  );
};


참고)

Proxying API Requests in Development | Create React App

Note: this feature is available with react-scripts@0.2.3 and higher.

create-react-app.dev

저작자표시 (새창열림)

'🍞 FrontEnd > React' 카테고리의 다른 글

[React] 로그인, 로그아웃, 회원가입 구현 with Redux  (0) 2022.12.24
[React/Node.js] 프론트 서버와 백 서버 한 번에 키기  (0) 2022.12.19
[React] React Suspense이란?  (0) 2022.12.02
[React/TS] 스켈레톤 코드 (Skeleton)  (2) 2022.12.02
[React] Swiper 적용하기 버전 8.0.0  (0) 2022.11.29
'🍞 FrontEnd/React' 카테고리의 다른 글
  • [React] 로그인, 로그아웃, 회원가입 구현 with Redux
  • [React/Node.js] 프론트 서버와 백 서버 한 번에 키기
  • [React] React Suspense이란?
  • [React/TS] 스켈레톤 코드 (Skeleton)
박빵이
박빵이
2025년에도 갓생살기
  • 박빵이
    기억보다 기록
    박빵이
  • 전체
    오늘
    어제
    • 분류 전체보기 (337)
      • 🍞 FrontEnd (97)
        • HTML+CSS (4)
        • JavaScript (17)
        • TypeScript (4)
        • React (52)
        • Next.js (2)
        • Android (15)
      • 🍞 BackEnd (24)
        • Java (15)
        • Node.js (6)
        • Spring (1)
      • 🍞 Cloud & Infra (0)
        • AWS SAA (0)
        • Microsoft Azure (0)
      • 🍞 Algorithm (147)
        • C++ (4)
        • Baekjoon (41)
        • Programmers (97)
      • 🍞 Computer Science (18)
        • 운영체제 (1)
        • 데이터 통신 (6)
        • 네트워크 (6)
        • 데이터베이스 (1)
      • 🍞 대외활동 & 부트캠프 (42)
        • 삼성 청년 SW 아카데미 (1)
        • LG유플러스 유레카 (0)
        • 한국대학생IT경영학회 (1)
        • IT연합동아리 UMC (17)
        • 길벗 블로깅 멘토 (18)
        • IT연합동아리 피로그래밍 (3)
        • 개발 컨퍼런스 (2)
  • 블로그 메뉴

    • Admin
  • 링크

    • GitHub
  • 인기 글

  • 태그

    level1
    umc
    Java
    길벗 블로깅 멘토
    길벗 블로깅 멘토링
    react
    코틀린
    C++
    level2
    백준
    위상정렬
    알고리즘
    프로그래머스
    안드로이드
    map
    Android
    JavaScript
    코딩자율학습
    Front
    유니온파인드
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
박빵이
[React/Node.js] CORS 이슈, Proxy 설정
상단으로

티스토리툴바