Proxy Server(프록시 서버)

고장난 고양이·2022년 8월 1일

🖥 프록시 서버

프록시 서버는 서버와 클라이언트 사이에 중간관리를 담당하는 서버로써 대리록 통신을 수행하는 것을 가리켜 '프록시'를 붙여 프록시 서버라고 명칭합니다.

  • pc와 외부 인터넷 사이의 징검다리 역할

  • 중계를 해주기 때문에 외부 인터넷에서는 Client의 정보를 알 수 없다.

  • 외부 인터넷의 내부 침입을 막는 방화벽과 관련이 있다.

  • 프록시 서버는 프록시 서버에 요청된 내용들을 캐시를 이용하여 저장합니다.

  • 캐시를 이용해서 요청된 내역을 저장하면 전송시간도 절약할수 있으며, 동시에 불필요하게 외부와의 연결을 하지 않아도 된다는 장점을 가지게 된다.

  • 외부와의 트래픽을 줄이게 됨으로써 네트워크 병목현상을 줄일 수 있다.

  • IP를 바꾸기 위한 용도로 많이 사용되고 있다.

  • A Client가 B Proxy에 접근하여 C인터넷(google.com)에 접속하는 방식

  • 프록시 서버의 목적

    • 보안: 익명의 사용자가 서버에 접근하는 것을 막는다.

    • 속도: Proxy 서버는 사용자의 요청을 Cahche해서 동일 요청이 들어오면 Cache 자원을 반환한다. 이는 서비스의 속도를 높여준다.

    • ACL(access control list ACL): 사이트 접근에 대한 접근 정책을 정의 할 수 있다.

    • log/Audit: 회사 내 직원의 인터넷 사용을 레포팅할 수 있다. 반대로 인트라넷의 사용을 레포팅할 수 도 있다.

    • 지역 네트워크의 제한 우회: 보안 상의 이유로 80 포트 외에 포트를 막아놓는 경우가 있는데 이러한 제한을 우회해서 원하는 다른 서비스를 이용할 수 있다.

✅ 프록시 서버의 종류

1. Forward 프록시

  • 프록시 서버를 호스트들과 클라이언트의 접근하고자 하는 위치 사이에 위치시킨다.

  • 이 서버는 전형적으로 로컬 디스크에 데이터를 저장하며, 클라이언트 호스트들은 사용 중인 웹 브라우저를 이용하여 프록시 서버 사용을 설정 해야 하므로 프록시 서버를 사용하고 있다는 것을 인식할 수 있다.

  • 이 방식은 대역폭 사용을 감소시킬 수 있다는 것과 접근 정책 구현에 있어서 다루기 쉬우면서도 비용이 저렴하다는 장점이 있다. 사용자의 정해진 사이트만 연결할 수 있는 등 웹 사용환경을 제한할 수 있으므로 기업 환경 등에서 많이 사용된다.

2. Reverse 프록시

  • 클라이언트들이 프록시 서버에 연결되었다는 것을 인식못하며, 마치 최종사용자가 직접 리소스에 요청하는 것 처럼 느낀다.

  • 이런 구조를 사용하는 이유는 보통 보안때문이다.

  • 보통 기업의 네트워크 환경은 DMZ라고 하는 내부 네트워크와 외부 네트워크 사이에 위치하는 구간이 존재하며, 이 구간에는 메일 서버, 웹 서버, FTP 서버 등 외부 서비스를 제공하는 서버가 위치하게 된다.

서비스를 자바로 구현해서 WAS를 DMZ에 놓고 서비스해도 되지만 WAS는 보통 DB 서버와 연결되므로 WAS가 최전방에 있으면 WAS가 해킹당할 경우 DB서버까지 같이 해킹되는 심각한 문제가 발생할 수 있다. 이 때문에 리버스 프록시 서버를 두고 실제 서비스 서버는 내부망에 위치시키고 프록시 서버만 내부에 있는 서비스 서버와 통신해서 결과를 클라이언트에게 제공하는 방식으로 서비스 하게 된다.

참고
https://velog.io/@jangwonyoon/Proxy-Server%ED%94%84%EB%A1%9D%EC%8B%9C-%EC%84%9C%EB%B2%84%EB%9E%80

profile
개발새발X발일지

0개의 댓글