반응형
프로젝트 초기 설정을 할 때마다 마주했던 문제다. API 서버에서 데이터를 가져오려고 하면 꼭 항상 마주하는 문제이고, 항상 여기서 한시간 넘게 해맨다. 해매도 해매도 모른다는거다. 이정도면 알려고 안하는게 아니시냐.. 바보가 아니면 이제는 알아두셔라..
- vue 에서 proxy 설정을 해주는 이유
일반적으로 프록시, 프록시 서버는 클라이언트와 서버의 간의 중간다리 역할을 한다.
vue CLI 서비스를 사용하여 개발에서 앱을 실행하는데, 개발 환경에서 /api/reservation.. 로 요청을 하면 자동으로 http://localhost:8080/api/reservation 로 호출이 된다.
요청하려는 서버에서 localhost, 내 IP는 허용된 도메인이 아니기 때문에 데이터를 요청하면 접근할 수 없다는 CORS 에러가 발생한다. 이를 해결하기 위해서 API 서버에 데이터를 요청할 때, 서버에서 허용한 도메인으로 데이터를 요청하도록 요청전 허용한 IP로 데이터를 요청할 수 있도록 변경하여 요청한다. - proxy 서버
클라이언트가 자신을 통해서 다른 네트워크 서비스에 간접적으로 접속 가능하게 해주는 응용 프로그램, 클라이언트와 서버 사이에서 http 요청과 응답을 대신 처리해주는 역할을 하는 서버. - proxy 설정하기
vue 에서 proxy 서버를 설정하고, 클라이언트에서 http를 요청하면
proxy 서버가 웹서버로 http 요청을 대신함으로서, cors문제를 해결한다.
- target
도메인, 포트, 프로토콜을 서버가 허용한 주소랑 맞춰달라고.
changeOrigin
로컬호스트 url과 서버주소가 다르기 때문에 브라우저는 교차출처 에러를 낸다. 웹팩 데브 서버가 프록싱 역할을 해준다. 개발하는 과정에서 localhost:8080/api/reservation 으로 요청하지만, 중간에 프로시 서버 덕분에 백엔드 api와 같은 도메인으로 요청한 것으로 인식하게 할 수 있다.
반응형
'프론트엔드 개발자로 일하기' 카테고리의 다른 글
성능측정- CRP (1) | 2024.09.17 |
---|---|
browser rendering (0) | 2024.09.17 |
보고 또 봐도 또 모르는 cors (0) | 2024.09.17 |
이벤트 버블링, 이벤트 캡처링 (0) | 2024.09.17 |
tui-editor 에서 customHTMLSanitizer 커스텀해서 사용하기 (0) | 2024.09.10 |