클라이언트가 자신을 통해 다른 네트워크 서비스에 간접적으로 접속할 수 있게 해주는 컴퓨터 시스템이나 소프트웨어(응용 프로그램)을 의미한다.
보안성, 성능, 안전성이 향상된다.
- Forward Proxy Server(포워드 프록시 서버)
- Reverse Proxy Server(리버스 프록시 서버)
학창시절에 컴퓨터실을 이용하다보면 특정 사이트들을 이용할 수 없었던 경험이 있을 것이다.
그게 바로 포워드 프록시 서버를 사용한 것이다.
포워드 프록시 서버는 위 그림과 같이 클라이언트 앞에 프록시 서버가 놓여져 있는 모습을 말한다.
클라이언트가 인터넷 웹 서버에 요청을 보내면 중간에서 그 요청을 프록시 서버가 가로챈다.
그리고 나서 프록시서버가 해당 요청을 웹서버에게 보내고, 웹서버로 부터 받은 응답을 다시 클라이언트에게 전해준다.
1. 유저가 특정 컨텐츠에 접근하는 것을 방지
정부, 학교, 기업 등과 같은 기관에서 해당 기관에 속한 사람들이 그들이 방문하고자 하는 웹사이트에 직접적으로 방문하는 것을 방지하는 것
2. 익명성을 보장
유저 앞에 프록시서버가 있으므로 유저의 정체를 숨겨준다.
IP 주소를 역추적해도 정체 파악이 어렵고, 프록시 서버만 보인다.
리버스 프록시 서버는 클라이언트 앞에 놓여져 있는 반면 리버스 프록시 서버는 웹서버 앞에 놓여져 있다.
1. 로드밸런싱(load balancing)
유명한 웹 사이트에서 대용량의 트래픽을 하나의 싱글 서버로 감당해내기란 어려운데, 이렇게 서버앞에 프록시서버를 거치게 되면 특정 서버가 과부화 되지 않도록 로드밸런싱을 시켜준다.
2. 보안에 좋다.
본래 서버의 IP를 노출 시킬 필요가 없어서 DDos 공격과 같은 공격들을 막는데 유용하다.
(하지만 CDN과 같은 리버스 프록시 서버가 공격의 타겟이 될 수 있다.)
3. 리버스 프록시 서버 내 캐싱 가능
만약 접속 이력이나 사용 이력이 있는 경우 리버스 프록시 서버에서 캐싱을 하는데, 리버스 프록시 서버에 캐싱되어 있는 데이터를 사용할 경우 더 빠른 성능을 보여준다.
4. SSL 암호화에 좋다.
본래 서버가 클라이언트들과 SSL(or TSL)로 암호화/복호화 할 경우 비용이 많이 든다.
하지만 리버스 프록시 서버를 사용할 경우 들어오는 요청을 모두 복호화하고, 나가는 응답을 암호화 해주므로 클라이언트와 안전한 통신이 가능하다.