React Proxy 설정

✒️ 2025-05-28 10:13 내용 수정



Proxy

네트워크에서 클라이언트와 서버 사이에 중개 역할을 하는 서버나 소프트웨어


클라이언트의 package.json에 proxy 추가

// package.json
{
	// 생략
	"proxy" : "http://localhost:5000"
}

Proxy 직접 설정하기

npm install http-proxy-middleware --save
// src/setupProxy.js
const { createProxyMiddleware } = require('http-proxy-middleware');

module.exports = function(app) {
    app.use(
        '/api', // proxy가 필요한 요청 경로, /api/test와 같이 /api로 시작하는 요청들 포함
        createProxyMiddleware({
            target: `${process.env.PROXY}`, // 타겟이 되는 api url
            changeOrigin: true, // 대상 서버 구성에 따라 host header 변경 설정
            ws: true // websocket 허용
        })
    );
};
# .env
PROXY="http://localhost:5000"
// src/lib/axios.js
import axios from 'axios';
axios.defaults.withCredentials = true; // 쿠키 공유 허용

const instance = axios.create({
    baseURL : `http://localhost:10000/api/`
});

export default instance;
// server.js
// `/api/main` 형식으로 요청을 받는다
app.use("/api", require('./api/main.js'));
app.use("/api", require('./api/login.js'));