프록시 서버(Proxy Server)
1. 사전적정의
Proxy 는 ‘대리', '대신' 이라는 뜻을 가진다.
2. 정의
프록시 서버는 사전적 정의 그대로 해석하면 대신 처리 해주는 서버입니다.
프록시 서버는 클라이언트가 자신(프록시 서버)을 거쳐 다른 네트워크에 접속할 수 있도록 중간에서 대리해주는 서버입니다.
프록시(Proxy)란 서버와 클라이언트 사이의 중계자로서 대리로 통신을 수행하는 것입니다.
즉, 요청을 중계하는 일을 하는 컴퓨터 혹은 프로그램으로 이해하면 됩니다.
이 때 중계 기능을 하는 서버를 프록시 서버라고 합니다.

즉, 프록시 서버가 클라이언트의 Request 와 서버의 Response 를 연결해주기 때문에
클라이언트 입장에서는 서버가 가려지고 프록시 서버가 있는 것이고,
서버 입장에서는 클라이언트가 가려지고 대신 프록시 서버가 있다고 이해하면 좋습니다.
3. <프록시 서버를 사용하는 이유>
1. 속도의 이점
웹페이지를 캐시(cache) 안에 저장하여 리소스로의 접근을 빠르게 하기 위해 사용합니다.
캐시에 저장되어 있는 내용은 서버에 따로 재요청을 할 필요가 없이 캐시에 저장된 내용을 가져오므로
전송시간 및 외부트래픽을 줄임으로써 네트워크 병목 현상을 방지할 수 있습니다.
2. 보안의 이점
익명의 사용자가 서버에 직접 접근하는 것을 막을 수 있습니다. (프록시 방화벽)
프록시 서버를 통해 통신하게 되면 IP 주소를 숨기는 것이 가능하기 때문에 외부의 사용자로가
서버의 IP 주소로 직접 접근하는 것을 방어할 수 있습니다.
3. ACL
사이트 접근에 대한 접근 정책을 정의할 수 있습니다.
4. Log 기록 관리
회사 내 인터넷 을 사용하는 직원의 인터넷 사용 모니터링 혹은 인트라넷 사용의 모니터링
5. 접속 우회
보안 및 통제를 우회해서 원하는 다른 서비스를 이용할 수 있습니다.
대표 기술로 프록시 체이닝(Proxy Chaing)은 클라이어언트의 IP를 숨기기 위해 여러 프록시 서버를 경유하는 기술입니다.
4. 프록시의 종류
프록시 서버는 서버의 위치에 따라 Forward Proxy 와 Reverse Proxy 로 나뉩니다.
4.1 포워드 프록시 [Foward Proxy]
- 클라이언트가 서버로 요청할 때 직접 요청하지 않고 먼저 프록시 서버를 통해 요청하는 방식입니다.
{ 클라이언트 <-> 프록시서버 <-> 인터넷 <-> 서버 } 의 위치에 있는, 프록시 서버를 Forward Proxy 라고 합니다.
클라이언트가 Request 를 전달하면 프록시 서버가 목적 사이트의 내용을 받아와서 전달을 ‘대신’ 해주는 것입니다.
예시 상황)
1. 아크리가 dwp.lotte.net에 연결하려고 요청을 보냅니다.
2. 포워드 프록시 서버는 아크리가 요청한 것을 받은 후, 인터넷에 연결합니다. .
3. 포워드 프록시는 dwp.lotte.net에서 받은 응답 결과를 아크리에게 전달해줍니다.
포워드 프록시는 캐싱(caching) 기능이 있어 자주 사용되는 컨텐츠라면 성능향상을 가져올 수 있고
정해진 사이트만 연결가능하도록 설정하는 등 웹 사용환경을 통제할 수 있으므로 기업 내부망 환경 등에서 많이 사용된다.
4.2 리버스 프록시 [Reverse Proxy]
- 클라이언트가 서버를 호출할 때 리버스 프록시를 호출하게 되고 프록시 서버가 서버를 요청하여 받은 응답을 클라이언트에게 전달하는 방식입니다.
{클라이언트 <-> 인터넷 <-> 프록시서버 <-> 서버 } 의 위치에 있는, 프록시 서버를 Reverse Proxy 라고 합니다.
예시 상황)
1. 사용자가 gypsy-recording.tistory.com에 연결하려고 요청을 보냅니다.
2. 요청은 인터넷에 연결 되고 인터넷은 특정 URL로 지정된 리버스 프록시 서버로 연결됩니다.
3. 리버스 프록시 서버는 자체 내부 서버에서 gypsy-recording.tistory.com에게 요청을 합니다.
4. 자체 내부 서버에서 gypsy-recording.tistory.com에게 받은 응답 결과를 아크리에게 전달해줍니다.
내부 서버가 직접 서비스를 제공해도 되지만 이렇게 구성하는 이유는 보안 때문입니다.
보통 기업의 네트워크 환경은 DMZ라고 하는 내부 네트워크와 외부 네트워크 사이에 위치하는 구간이 존재하며,
이 구간에는 메일 서버, 웹 서버, FTP 서버 등 외부 서비스를 제공하는 서버가 위치하게 됩니다.
WAS는 보통 DB 서버와 연결되고 WAS가 해킹당할 경우 DB서버까지 같이 해킹되는 심각한 문제가 발생할 수 있습니다.
이러한 보안 이슈로 리버스 프록시 서버를 두고 실제 서비스 서버는 내부망에 위치시켜
프록시 서버만 내부에 있는 서비스 서버와 통신해서 결과를 클라이언트에게 제공합니다.
'일 > 개발, IT정보' 카테고리의 다른 글
IIS(Internet Information Service) 디렉토리 리스팅 설정 방법 (0) | 2024.05.31 |
---|---|
Windows 파일 삭제한 계정 찾기 (0) | 2024.05.30 |
가상화 솔루션 스펙 비교 2위 MS, 3위 redhat, 1위는 ??? (0) | 2024.05.29 |
fzf, gdu, wsl, podman, goaccess / DevOps 운영 효율 높이기 (0) | 2024.05.26 |
새로운 개발의 시작 React v18.0 / 이전 버전과의 차이점 (0) | 2024.05.26 |