프록시 서버 Proxy server 에 대해서

서수·2022년 12월 13일
1

Computer Science

목록 보기
4/6
post-thumbnail

🌎프록시( Proxy ) 서버의 정의

프록시 서버는 대리인 역할을 하는 서버입니다.
즉, 클라이언트가 자신을 거쳐 다른 네트워크에 접속할 수 있도록 중개해주는 서버입니다.

프록시 서버는 어떻게 접하게 될까?

웹 환경에서 프록시 서버는 클라이언트와 서버 사이에서 Request 와 Response 하는 데이터를 전달하는 역할을 합니다.
우리가 자주 방문하는 인터넷들은 빠른 전송과, 네트워크 비용 절감, 보안을 위해서 프록시 서버를 사용하는 경우가 많습니다.
꼭 프록시 서버가 필수는 아닙니다. 하지만 프록시 서버를 사용하면 네트워크 환경을 더 빠르고 안전하게 구성하는데 도움이 됩니다.

프록시 서버에 대해 알아보자

포워드 프록시 Forward Proxy

일반적으로 프록시 서버라 함은 포워드 프록시를 의미합니다.
포워드 프록시는 클라이언트와 인터넷 사이에 위치해서 클라이언트 대신 서버에 요청을 보내주는 형태입니다.

포워드 프록시의 장점

  • 로컬 네트워크와 인터넷 사이를 오가는 트래픽을 제어할 수 있습니다. 부적절한 콘텐츠를 브라우징하는 것을 막기 위해 사용할 수 있습니다.
  • 포워드 프록시는 대개 캐싱 기능이 있어서 어떤 컨텐츠가 빈번하게 사용된다면 월등한 성능 향상을 가져올 수 있습니다. 서버의 응답을 캐싱해서 저장해놓으면 전송 시간이 절약되며, 불필요한 외부 전송을 하지 않아도 됩니다. 또한 외부 요청이 감소되므로 네트워크 병목 현상을 방지할 수 있습니다.
  • 보안을 강화할 수 있습니다. 클라이언트의 요청을 포워드 프록시가 요청한 것처럼 가장함으로써 서버로부터 클라이언트의 요청을 숨길 수 있고, 정해진 사이트만 연결하게 설정하는 등 웹 사용 환경 제한도 가능합니다. 또한 프록시에서 네트워크 패킷 로깅도 가능하기 때문에 보안이 매우 중요한 기업환경에서 많이 사용합니다.

    네트워크 패킷이란 네트워크에서 출발지와 목적지간에 라우팅 되는 데이터 단위입니다. 네트워크 패킷은 사용자 데이터와 제어정보로 이루어지며, 사용자 데이터는 페이로드라고 합니다. 시스템 동작 시 시스템/상태 정보를 시간의 경과에 따라 기록하는 것을 로깅, 그 기록을 로그라고 합니다.

리버스 프록시 Reverse Proxy

리버스 프록시는 서버와 인터넷 사이에 위치해서 서버의 응답을 대신 클라이언트에게 전달해 주는 역할을 합니다. 리버스 프록시의 가장 큰 특징은 포워드 프록시와 다르게 인터넷과 외부 서버 사이에 위치합니다.

리버스 프록시의 장점

  • 로드 밸런싱이 가능합니다. 클라이언트의 요청이 많아지면 서버는 과부화로 동작이 멈출 수 있습니다. 이런 문제를 방지하려면 여러 대의 서버에 트래픽을 적절하게 나눠줘야 합니다. 이것이 로드 밸런싱입니다.
  • 보안상의 이유로 클라이언트가 직접 서버에 접근하는 것을 원하지 않는 경우, 리버스 프록시를 통해 클라이언트가 서버에 간접적으로 접근하게 할 수 있습니다. 이 경우 프록시가 방화벽 역할을 한다고 볼 수 있습니다.

    방화벽(firewall) 이란 미리 정의된 보안 규칙에 기반한 들어오고 나가는 네트워크 트래픽을 모니터링하고 제어하는 네트워크 보안 시스템입니다.

프록시 서버를 사용하는 이유

  • 필터 : 허용하는 컨텐츠에는 제한 없는 접근을 허용하되, 부적절한 사이트 접근은 강제로 거부할 수 있습니다.
  • 접근 제어 : 많은 웹 서버와 웹 리소스의 단일한 접근 제어 전략을 구현하고 추적하기 위해 사용할 수 있습니다. 예를 들면 특정 클라이언트만 접근 할 수 있는 콘텐츠가 서버에 있을 때 허가받지 않은 클라이언트가 접근하면 비밀번호를 요구하도록 구성할 수 있습니다.
    -캐싱 : 프록시는 많은 요청이 있을 경우 관리하고, 해당 요청이 오면 서버까지 거치지 않고 바로 응답할 수 있습니다. 이럴 경우 비싼 커뮤니케이션 비용을 줄일 수 있습니다.
  • 익명 역할 : HTTP 메세지에서 신원을 식별할 수 있는 특성을 제거함으로써 개인 정보 보호와 익명성 보장에 기여할 수 있습니다. 즉 클라이언트 요청이었으나 프록시 요청인 것처럼 위장할 수 있고 리버스프록시인 경우 서버인척 응답을 보내기 때문에 보안에 기여할 수 있습니다.

참고 자료

도서] 개발자가 되기 위해 꼭 알아야 하는 IT 용어

profile
패션디자인과 출신 비전공자가 개발자로 성장하려 만든 노트

0개의 댓글