[Server]Proxy server란?


이번에 nginx를 공부하면서 proxy server에 대해 알게 되었습니다. 이를 정리해 놓고자 포스팅을 합니다.


Proxy(프록시)란?

Proxy(프록시)란 컴퓨터 네트워크에서 다른 서버상의 자원을 찾는 클라이언트로부터 요청을 받아 중계해주는 서버를 말합니다. 즉 중간에서 중계해주는 서버입니다.


Proxy Server 종류

  • forward proxy : 프록시 서버가 클라이언트와 원격 서버 사이의 네트워크상 어디에든 위치할 수 있습니다. 클라이언트는 원격의 목적지 주소를 기반으로 자원을 요청하고 프록시 서버는 그 주소를 받아 목적지 서버에 연결을 하고 자원을 가져옵니다. 즉, 프록시 서버는 클라이언트가 알려주기 전까지 목적지 서버의 주소를 알지 못합니다.

  • reverse proxy : 프록시 서버가 사설 네트워크상의 서버들 바로 앞단의 프론트엔드에 위치하여 서버들을 제어하고 보호합니다. 클라이언트는 리버스 프록시 서버의 주소를 목적지 서버로 하여 데이터를 요청합니다. 클라이언트에게 리버스 프록시 서버는 일반적인 보통 서버로 보이게 됩니다. 리버스 프록시 서버는 클라이언트의 요청에 따라 자신의 뒤쪽(reverse)에 있는 적합한 서버에 데이터 요청을 하고 응답된 데이터를 클라이언트로 전달합니다. 따라서 리버스 프록시 서버는 자신의 뒷쪽에 있는 실제 서버들에 대한 주소를 유지해야합니다. 리버스 프록시는 보안이나 암호화를 위해서 사용되기도하고, 뒷단의 서버들에 대한 요청을 로드밸런싱해주기 위해 사용됩니다.

  • open proxy : 모든 인터넷 사용자가 엑세스를 할 수 있는 프록시 서버로, 익명 공개 프록시는 사용자가 웹브라우징을 하거나 다른 인터넷 서비스를 하는 동안 자신의 IP주소를 숨길 수 있도록 해줍니다. IP추적을 방지하거나 우회해서 접속하는 기능을 수행할 수 이씃ㅂ니다.


Proxy 사용 목적

  1. 익명으로 컴퓨터를 유지 할 수 있음

  2. 네트워크 서비스나 콘텐츠로의 접근 정책을 적용하기 위해 사용

  3. 보안 및 통제를 뚫고 나가기 위해 사용

  4. 악성 코드를 목적으로 전달된 콘텐츠를 검사하기 위해 사용

  5. 밖으로 나가는 컨텐츠를 검사하기 위해 사용