pebblepark
개발계발
pebblepark
전체 방문자
오늘
어제
  • 분류 전체보기 (24)
    • Frontend (7)
    • Backend (7)
    • 인프라 (1)
    • CS (0)
      • Design Pattern (0)
    • 정리용 (9)
    • 회고 (0)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • redux
  • github
  • @ModelAttribute
  • React Query
  • react-query
  • typescript
  • Docker
  • spring
  • 스프링
  • useLayoutEffect
  • wsl
  • springboot
  • 스프링 컨테이너
  • CORS
  • ERR_UNSAFE_PORT
  • hoisting
  • 무한스크롤
  • Context API
  • 스프링 빈
  • debounce
  • SpringMVC
  • 스프링 의존관계
  • vite
  • 호이스팅
  • Github Pages
  • Git
  • react
  • javascript
  • 리액트쿼리
  • TDZ

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
pebblepark

개발계발

Proxy 서버로 CORS 해결하기
정리용

Proxy 서버로 CORS 해결하기

2022. 6. 24. 08:58

cors 문제를 해결하는 방법에는 두 가지가 있다.

  1. 서버에서 CORS 해결
  2. 클라이언트에서 proxy 서버 이용

2번 방법을 통해 cors를 해결해보자. react를 배포했을 시 nginx 서버를 사용했다면 proxy_pass를 통해 쉽게 해결할 수 있다.

 

nginx를 사용하여 cors 해결하기

다음과 같이 설정 파일에 원하는 api endpoint를 지정하여 proxy_pass로 해당 api 서버 주소를 적어주면 된다. 이후 /api/*로 호출하는 경우 해당 리액트 앱의 도메인:포트를 거쳐 호출되므로 cors가 발생하지 않는다.

/etc/nginx/conf.d/default.conf

client_max_body_size 200M;

server {
    #add_header Access-Control-Allow-Origin *;
    listen       80;
    listen  [::]:80;
    server_name  localhost;

    location / {
        root    /app/dist;
        index   index.html;
        try_files $uri $uri/ /index.html;
    }

    location /api {
        proxy_pass http://localhost:5000;
    }
}

 

vite 애플리케이션 개발시 프록시 지정

vite 애플리케이션 개발 시에 프록시를 지정하고 싶다면 vite.config.ts를 수정하여 proxy 설정을 추가해주면 된다.

import { defineConfig } from 'vite';
import react from '@vitejs/plugin-react';

// https://vitejs.dev/config/
export default defineConfig({
  base: './',
  plugins: [react()],
  assetsInclude: ['**/*.jpg', '**/*.png'],
  server: {
    proxy: {
      '/api': {
        target: 'http://localhost:5000',
        changeOrigin: true,
      },
    },
  },
});

 

 

저작자표시 (새창열림)

'정리용' 카테고리의 다른 글

[React] 일정시간동안 이벤트 발생이 없으면 콜백 함수 실행  (0) 2022.08.09
크롬에서 막혀있는 포트  (0) 2022.07.01
Docker 명령어 정리  (0) 2022.05.25
Github pages 배포하기  (0) 2022.05.19
Github 특정 파일 커밋 기록 삭제  (0) 2022.05.17
    '정리용' 카테고리의 다른 글
    • [React] 일정시간동안 이벤트 발생이 없으면 콜백 함수 실행
    • 크롬에서 막혀있는 포트
    • Docker 명령어 정리
    • Github pages 배포하기
    pebblepark
    pebblepark
    프론트엔드 개발자입니다. 피드백은 언제나 환영입니다:)

    티스토리툴바