프록시란 프로토콜에 있어서 대리 응답 등에서 사용하는 개념이다.
프록시 서버
클라이언트와 서버 사이에 존재하며, 중계기로서 대리로 통신을 수행하는 것을 프록시라고 함
중계 기능을 하는 주체를 프록시 서버라고 함
프록시 서버 종류
포워드 프록시 (Forward Proxy)
클라이언트와 서버 사이에 위치하여 요청을 중계하며, 요청과 응답은 Proxy Server를 거친다.
클라이언트는 목적지 서버에 요청을 보내고, 프록시 서버는 이를 받아서 목적지 서버에 요청
포워드 프록시 서버는 클라이언트 앞에 있음
특징
1. 클라이언트 보안
- 클라이언트의 직접적인 인터넷 접속을 제한하여 보안 강화
Ex) 불법 사이트에 접속하는 것을 막음
2. 캐싱
- 프록시 서버를 캐시로 사용하여 동일한 요청을 보냈을 때 프록시 서버에 저장해뒀다가 응답하도록하여
서버의 부하를 줄이고 빠르게 응답할 수 있다.
3. 암호화
- 클라이언트의 요청은 프록시 서버를 통과할 때 암호화된다.
즉, 클라이언트의 IP를 감출 수 있다.
그러므로 목적지 서버는 IP 주소를 역추적하기 어렵다.
목적지 서버의 경우 프록시 서버의 IP 주소로 요청을 받기 때문
리버스 프록시 (Reverse Proxy)
포워드 프록시와 동일하게 요청과 응답이 프록시 버서를 거친다.
포워드 프록시와 다르게 서버들이 주로 내부망으로 구성되며 프록시에게만 연결을 허용
클라이언트는 요청을 보낼 때 목적지 서버에 요청을 보내는 것이 아닌 프록시 서버에 요청을 보냄
리버스 프록시 서버는 서버 앞에 있음
특징
1. 서버 보안
- 리버스 프록시 서버를 사용하여 본래 서버의 IP 주소를 노출시키지 않으므로 서버 보안이 좋다.
2. 캐싱
- 프록시 서버를 캐시로 사용하여 동일한 요청을 보냈을 때 프록시 서버에 저장해뒀다가 응답하도록하여
서버의 부하를 줄이고 빠르게 응답할 수 있다.
3. SSL 가속
SSL/TLS 암호화/복호화 작업을 프록시 서버에서 처리하여
클라이언트와 안전한 통신 및 목적지 서버의 부하 감소
4. 로드 밸런싱
리버스 서버를 여러 개의 목적지 서버 앞에 둬 특정 서버가 과부하되지 않게 함
포워드 프록시와 리버스 프록시 차이점
1. 서버 위치
포워드 프록시는 클라이언트 앞에 있다.
리버스 프록시는 목적지 서버 앞에 있다.
2. 프록시 서버 통신 대상
포워드 프록시 서버는 내부망에서 클라이언트와 프록시 서버가 통신하여 인터넷을 통해 외부에서 데이터를 가져옴
리버스 프록시 서버는 내부망에서 목적지 서버들과 프록시 서버가 통신하여 인터넷을 통해 요청이 들어오면
프록시 서버가 요청을 받아 응답한다.
3. 감춰지는 대상
포워드 프록시 서버는 클라이언가 직접 서버 URI로 요청을 보낸다.
- 클라이언트의 IP 주소를 감출 수 있다.
리버스 프록시 서버는 클라이언트가 프록시 서버 URI로 요청을 보낸다.
- 목적지 서버의 IP 주소를 감출 수 있다.