Proxy 란?

Proxy  대리', '대신' 이라는 뜻을 가진다.

주로 보안상의 문제를 방지하기 위해, 직접 통신하지 않고 중계자를 거친다는 개념이다.

이 때 중계의 기능을 하는 것이 ‘프록시 서버' 이다.

 

클라이언트와 서버 사이에 프록시 서버가 '중계'를 할 때,

클라이언트는 프록시 서버를 서버 라고 인식하고, 서버는 프록시 서버를 클라이언트 처럼 여기게 된다.

 

 

즉,

프록시 서버가 클라이언트의 Request 와 서버의 Response 를 연결해주기 때문에

(의미적으로)

클라이언트 입장에서는 서버를 가리고 프록시 서버가 서있는 것이고,

서버 입장에서는 클라가 가려지고 대신 프록시 서버가 있는 것이다.

 

프록시 서버는 서버의 위치에 따라 [Forward Proxy]  [Reverse Proxy] 로 나뉜다.

 

 

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

 

1. 시간 절약 [Foward Proxy]

 

클라이언트가 프록시 서버에 요청한 내용을 프록시 서버에서 캐시로 저장해 두면,

나중에 다시 데이터를 요청할 때 또다시 데이터를 요청하지 않고 캐시된 데이터를 사용하면 되므로

전송 시간을 절약할 수 있다.

 

이렇게 캐싱 기능을 제공하면서 동시에 특정 사이트는 접근 불가능하도록 제한을 걸 수도 있다.

 

{ 클라 <-> 프록시서버 --- 서버 } 의 위치에 있는,

위의 개념을 사용하는 프록시 서버를 [Forward Proxy] 라고 한다.

클라가 Request 를 전달하면 프록시 서버가 목적 사이트의 내용을 받아와서 전달을 대신 해주는 것이다.

 

 

2. 보안 [Reverse Proxy]

 

클라이언트가 바로 서버에 데이터를 요청하여 받아볼 수도 있지만,

그러면 중요한 데이터가 있는 DB  최전방에 노출될 수 있다는 위험이 존재한다.

 

따라서 중간에 프록시 서버를 두고 내부망을 보호하는 역할을 담당하게 하는 것이다.

, 클라가 프록시 서버에 데이터를 요청하면 프록시 서버는 실제 내부 서버에서 데이터를 받아와 클라에서 전달해주는 것!

 


{ 
클라 --- 프록시서버 <-> 서버 } 의 위치에 있는, 이 개념이 바로 [Reverse  Proxy] 이다.

 

 

 

 

따라서 프록시 서버를 내 컴퓨터 (127.0.0.1) 로 하면,

웹의 Request 가 서버로 바로 가지 않고 내 컴퓨터를 거쳐서 간다는 것이다.

이걸 이용하여 중간 내용을 가로채서 내가 원하는 내용을 담은 Request 를 서버에 보내는 방법을 사용할 수 있다.

  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기