프록시
프록시
프록시란?
인터넷 접속을 할 때, 빠른 액세스나 안전한 통신등을 확보하기 위해 사용되는 중계 서버를 프록시 서버라고 한다.
프록시를 사용하지 않고 서버에 요청을 보내면 다음과 같이 서버에 IP 주소가 노출된다.
프록시 서버는 클라이언트와 서버 사이에 위치하며, 클라이언트의 요청을 대신 받아 서버에 전달하고, 서버의 응답을 대신 받아 클라이언트에 전달한다.
프록시를 쓰는 이유
프록시를 사용하는 이유는 여러가지가 있지만, 그 중 주요한 요소는 다음과 같다.
- 보안
- 프록시 서버를 통해 요청을 전달하면 서버에는 프록시의 IP가 노출됨으로, 클라이언트의 실제 IP 주소를 숨길 수 있다.
- 프록시 서버는 클라이언트의 요청을 검사하여 악성코드나 해킹 시도를 차단할 수 있다.
- 바이러스 등에 대한 보안 대책을 프록시 서버에 구현함으로써, 클라이언트와 서버 모두 보안을 강화할 수 있다.
- 속도향상 (with cache)
- 프록시 서버는 웹페이지를 가져올 때 자신의 DB(캐시)에 저장하여, 같은 요청이 들어왔을 때 서버에 요청을 보내지 않고 캐시된 데이터를 전달함으로써 속도를 향상시킬 수 있다.
- 특히, 이미지나 동영상 등의 큰 파일을 다운로드 할 때, 프록시 서버를 통해 다운로드 받으면 더 빠르게 다운로드 받을 수 있다.
- 프록시 서버는 클라이언트의 요청을 압축하여 전달함으로써 속도를 향상시킬 수 있다.
- 로그 기록 및 관리
- 프록시 서버는 클라이언트의 요청과 서버의 응답을 기록함으로써, 트래픽을 모니터링하고 관리할 수 있다.
- 프록시 서버는 특정 사이트에 대한 접근을 제한할 수 있으며, 이는 보통 회사나 학교 등에서 특정 사이트에 대한 접근을 제한하기 위해 사용된다.
프록시 서버의 종류
프록시 서버는 크게 포워드 프록시와 리버스 프록시로 나뉘며, 서로 다른 역할을 한다.
더 세부적으로 들어가면 익명 프록시, 투명 프록시 등으로 나뉘지만,
본문에서는 포워드 프록시와 리버스 프록시에 대해서만 간결하게 다룬다.
포워드 프록시
일반적으로 말하는 프록시 서버는 포워드 프록시를 의미한다. 클라이언트와 외부 서버 사이의 트래픽을 중계하는 서버이며, 이는 사전 설정된 규칙에 따라 트래픽을 제어할 수 있다.
클라이언트와 서버 사이에서 요청을 중계하며 요청과 응답은 프록시 서버를 거쳐서 전달된다.
포워드 프록시는 클라이언트를 감추는 역할을 한다.
리버스 프록시
리버스 프록시란 클라이언트에게는 일반적인 서버로 인식되는 프록시 서버이다. 포워드 프록시의 경우와는 다르게 리버스 프록시는 보통 내부 네트워크에서 사용되며 클라이언트의 요청을 받아 내부 서버로 전달한다.
이렇게 구축을 하면 클라이언트는 내부 서버의 존재를 알 수 없으며, 내부 서버의 IP 주소를 숨길 수 있고
내부 서버들로의 접근은 리버스 프록시를 통해서만 가능하다.
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.