클라이언트와 서버 사이에서 보안과 데이터 관리를 위한 중계 역할을 한다.

특징
클라이언트와 서버의 중간에서 역할을 하는 개념이 많이 사용되는 것 같다.
종류와 역할
보안 기능의 공통점을 가진 프록시 서버, VPN, 그리고 방화벽의 주요 특징과 차이점을 비교
| 기능/특징 | 프록시 서버 | VPN (Virtual Private Network) | 방화벽 |
|---|---|---|---|
| 기본 목적 | 클라이언트와 서버 사이의 중개자 역할로 특정 웹 페이지나 서비스에 대한 요청과 응답을 처리. | 인터넷 사용자의 전체 인터넷 연결을 암호화하고 보호하여 개인 정보 보호와 익명성 제공. | 네트워크와 외부 세계 사이의 보안 장벽 역할을 하여 시스템을 보호. |
| 보안 | 선택적 암호화(주로 사용자의 IP 주소 숨김). | 모든 데이터를 암호화하여 고급 보안과 개인 정보 보호 제공. | 들어오고 나가는 네트워크 트래픽을 기반으로 시스템 보호. |
| 암호화 | 일반적으로 제공하지 않음 (HTTPS 프록시는 예외). | 전체 인터넷 연결에 대해 끝에서 끝까지(end-to-end) 암호화 제공. | 암호화 기능 자체는 제공하지 않음, 트래픽 검사와 필터링에 초점. |
| 익명성 | 제한적 (IP 주소 숨김 가능). | 높음 (IP 주소 숨김 및 암호화된 연결). | 익명성 제공에 직접적으로 초점을 맞추지 않음. |
| 성능 | VPN보다 빠를 수 있으나, 캐싱 외의 보안 기능은 제한적. | 암호화 과정 때문에 속도가 느려질 수 있음. | 트래픽 검사와 필터링으로 인해 네트워크 성능에 영향을 줄 수 있음. |
| 주요 사용 사례 | 지역 제한 콘텐츠 접근, 간단한 익명성 제공, 캐싱을 통한 성능 향상. | 보안이 중요한 온라인 활동, 안전한 원격 접속, 지리적 제한 우회. | 네트워크 보안 강화, 무단 접근 차단, 공격 및 위협 방지. |
그런데 프론트엔드 개발 도중 사용하는 프록시 설정은 무엇일까?
목적 : CORS(Cross-Origin Resource Sharing) 문제를 해결하기 위한 수단
💡 CORS?
웹 보안 메커니즘으로, 브라우저가 다른 출처(origin)의 리소스에 접근하는 것을 제한함. 개발 과정에서 로컬 서버(예: localhost:3000)에서 다른 도메인 또는 포트를 가진 백엔드 서버(예: api.example.com)로 API 요청을 보내려고 하면, 이 정책에 의해 차단될 수 있다.
프록시 설정을 사용하면, 이러한 문제를 우회할 수 있다. 개발 서버의 프록시 설정을 통해, 로컬 서버에서 발생한 API 요청을 프록시 서버를 거쳐 백엔드 서버로 전송한다. 이 과정에서 프록시 서버는 요청을 중계하며, 요청이 마치 지정된 도메인(백엔드 서버)에서 발생한 것처럼 작동하게 한다. 즉, 개발자가 CORS 문제 없이 API 개발과 테스팅을 진행할 수 있다.