프록시

Genie·2021년 11월 27일
0

프록시

서버와 클라이언트 사이에 중계기로서 대리로 통신을 수행하는 것을 가리켜 '프록시', 그 중계 기능을 하는 것을 프록시 서버라고 부른다. 말 그대로 두 PC 가 통신을 할 때 직접 하지 않고, 중간에서 '프록시 서버'가 중간에서 대리로 통신을 하는 것을 말한다.

프록시 서버란 시스템에 방화벽을 가지고 있는 경우 외부와의 통신을 위해 만들어 놓은 서버라는 의미도 있다.

프록시 서버의 위치에 따라 포워드 프록시와 리버스 프록시 두 가지로 나뉜다.






포워드 프록시(Forward Proxy)

그림과 같이, 클라이언트에서 프록시 서버를 거쳐서 서버로 요청을 한다. 서버에서 받은 IP 는 클라이언트의 IP 가 아니라 프록시 서버의 IP 이기 때문에 서버는 클라이언트가 누군지 알 수 없다.
클라이언트가 감춰진다.

특징

  1. 캐싱 : 포워드 프록시는 정적 데이터를 프록시 서버에 저장해두고, 동일한 요청이 올 경우 서버까지 가지 않고, 프록시 서버를 통해 처리할 수 있는 캐싱 역할을 할 수 있다.
  2. 보안 : 사내망에서 프록시 서버를 통해서 정해진 사이트만 연결 할 수 있도록 설정할 수 있다.





리버스 프록시(Reverse Proxy)

왜 사용하는가 ?
프록시 서버를 인터넷 리소스 또는 인트라넷 리소스 앞에 위치시키며, 보안을 위해서 사용한다.



클라이언트가 인터넷에 데이터를 요청하면, 리버스 프록시가 이 요청을 받아 내부 서버에서 데이터를 받은 후 클라이언트에 전달하는 방식이다. 클라이언트는 내부 서버에 대한 정보를 알 필요 없이, 리버스 프록시에만 요청하면 된다.
서버가 감춰진다.

특징

  1. 로드밸런싱 : 리버스 프록시 뒤에 여러 개의 WAS 를 둠으로써, end-point 마다 역할을 구분하여 사용자 요청을 분산시킬 수 있다.
  2. 보안 : 서버에 직접 접근하는 것을 막기 위해 DMZ 같은 네트워크에 리버스 프록시를 구성하여 접근하도록 할 수 있다.
  3. 필터링 : 웹 서버 앞단에서 악의적인 요청을 필터링하는 것이 가능하다.
  4. 성능 향상 : 데이터를 압축해주거나, 정적 컨텐츠들을 캐싱하며 성능 향상에 기여한다.
  5. 무중단 서비스 : 한 서버에 장애가 발생했을 때, 다른 서버를 통해 서비스를 제공할 수 있다.





DMZ(DeMilitarized Zone)

내부 네트워크에서 외부 네트워크로 직접적인 통신을 막고, 그 사이에 DMZ 를 위치 시킨다.
즉, DMZ 는 내부 네트워크와 외부 네트워크 사이에 위치하는 구간을 의미한다.
이 구간에는 웹 서버, 메일 서버, FTP 서버 등 외부 서비스를 제공하는 서버가 위치한다.

리버스 프록시 서버를 DMZ 에 두고, 실제 서비스 서버는 내부망(WAS) 에 위치시킨 후 서비스를 하는 것이 일반적인 형태이다.


참고

브라우저의 요청과 응답 과정

사용자가 브라우저 주소창에 "google.com"을 입력하고, Enter를 칩니다.
브라우저는 캐시와 로컬 파일에서 "google.com"의 IP를 찾습니다. 없을 경우, DNS에 "google.com"의 IP주소를 요청해 받습니다.

브라우저는 응용 계층에 해당합니다. 브라우저의 "google.com" 요청 데이터가 응용 계층에서 물리 계층까지 하위 계층으로 전달됩니다. 각 계층은 데이터 앞에 적절한 헤더를 붙입니다.

물리 계층에서 전기신호로 "google.com" 서버 컴퓨터에 요청 데이터를 보냅니다.

"google.com" 서버 컴퓨터는 물리 계층에서 요청 데이터를 받습니다. 요청 데이터는 물리 계층에서 응용 계층까지 상위 계층으로 전달됩니다. 각 계층은 헤더를 떼어 확인하고, 헤더 값에 따라 적절한 처리를 하며 데이터를 전달합니다.

"google.com" 서버 컴퓨터의 최상위 계층인 응용 계층에는 서버 애플리케이션이 있습니다. 이 서버 애플리케이션은 요청 데이터를 받아 적절한 처리를 하고, 응답 데이터를 반환합니다.

응답 데이터는 요청 방식과 같은 방식으로 사용자의 브라우저에 전달됩니다.

응답 데이터는 사용자의 응용 계층(브라우저)에 도착합니다.
브라우저는 응답 데이터를 화면에 출력합니다.

References


profile
차근차근

0개의 댓글