인프런 커뮤니티 질문&답변

hello님의 프로필 이미지
hello

작성한 질문수

프론트엔드 개발환경의 이해와 실습 (webpack, babel, eslint..)

API 서버 연동

proxy 설정시

해결된 질문

작성

·

266

1

안녕하세요 proxy 동작에 대해 궁금해서 질문드립니다.

원래는 8080 -> 8081로 요청해서 CORS 에러가 나지만 위와같이 설정하게 되면 요청은 프록시 서버로 가고 프록시 서버가 8081로 위장해서 서버로부터 데이터를 받아와서 웹팩 데브 서버에게 전달해주는 구조인건가요??

답변 1

1

김정환님의 프로필 이미지
김정환
지식공유자

브라우져에서 ajax 요청을 보낼때 cors 관련 오류 메세지를 접할 수 있는데요. 브라우저에서 실행되는 js는 자신이 다운로드 되었던 서버로 ajax 요청을 보낼수 있습니다. 서버를 식별하는 기준은 프로토콜, 도메인, 포트로 구성되는데요. 여기서는 js가 다운로드된 포트가 8080, ajax 요청하는 포트가 8081로 달라서 cors 정책에 막혀 ajax 요청에 실패하는 경우입니다.

한편 서버간의 통신은 브라우져-서버 통신과 다르게 이러한 제약 정책이 없는데요. 8080서버에서 8081 서버로 요청할 수 있는 이유입니다. 8080서버는 브라우져 js에서 ajax 요청을 받으면 이 요청을 그대로 8081로 보냅니다. 받은 응답도 그대로 브라우져로 전달하고요. 이러한 역할을 프록시라고 하고요. 

웹팩에서 설정한 proxy가 바로 8080 서버를 8081로 프록시한다는 설정입니다. 

hello님의 프로필 이미지
hello

작성한 질문수

질문하기