-
React CORS 처리Computer Science/React 2022. 8. 1. 23:19
교차 출처 리소스 공유(Cross-Origin Resource Sharing)은 한 출처에서 실행 중인 웹 application이 다른 출처의 자원에 접근할 수 있는 권한을 추가 http 헤더를 이용하여 알려주는 체제이다.
XMLHttpRequest 와 Fetch API는 동일 출처 정책을 따르기에 이부분을 염두해두어야한다.해결방법.
중간에 프록시서버를 두면 되지만 react는 간단하게 해결이 가능하다.
package.json에
"proxy" : "http://~"
를 적용시키고 해당 url을 사용하는 fetch api에서 url의 호스트를 지워준뒤 사용하면 된다.
"http://~/test" -> "/test"
만약 여러 경로를 사용해야 하는 경우.
npm install http-proxy-middleware
한뒤 src 아래에 setupProxy.js를 생성한다.
const { createProxyMiddleware } = require('http-proxy-middleware');
module.exports = function(app){
app.use(
createProxyMiddleware('/naver', {
target: 'https://naver.com',
pathRewrite: {
'^/naver':''
},
changeOrigin: true
})
)
app.use(
createProxyMiddleware('/test', {
target: 'https://test.org',
pathRewrite: {
'^/test':''
},
changeOrigin: true
})
)
};이러면 naver/~ 혹은 test/~를 알아서 인식하여 프록시 처리를 해준다.
naver, test는 지워지고 target 링크로 변경되어야 함으로 pathRewrite에 지워야 하는 문자열을 적어준다.
'Computer Science > React' 카테고리의 다른 글
React JSX (0) 2022.08.16 module을 통해 css 파일 나누기. (0) 2022.08.15 React Router를 통해 페이지 전환하기. (0) 2022.08.15 useState를 통한 component에서 변경되는 값 관리하기 (0) 2022.08.02 React project 생성 및 배포하기. (0) 2022.08.01